CREATE PROCEDURE proc_test @客房号 varchar(10) AS
declare @flag int
set @flag=0
if exists (select * from 客户入住信息 where 退房时间 is null and  客房号=@客房号) 
then 
@flag=1
 end if
if @flag=1
print '房间不空'
else
print '房间为空'
end if
编译时then附近有错
end附近有错
不知道怎么改,需要帮助啊

解决方案 »

  1.   

    MYSQL?
    DELIMITER $$
    CREATE PROCEDURE proc_test(A客房号 VARCHAR(10))
    BEGIN
     SET @flag=0;
     SELECT COUNT(*) INTO @flag FROM 客户入住信息 WHERE 退房时间 IS NULL AND  客房号=A客房号;
     IF @flag=1 THEN
     SELECT '房间不空';
     ELSE
     SELECT '房间为空';
     END IF;
     END$$
    DELIMITER ;
      

  2.   

     SELECT '房间不空';
     SELECT '房间为空';
    这样写是啥意思?
      

  3.   

    SELECT '房间不空';
    显示结果   
      

  4.   

    是SQL的吧,不是MYSQL确切说,谢谢帮忙