数据库
酒店数据库设计,现有房间信息表和房间预定信息表两个表
现要求若没有可用房间,一旦有空房,列表中最前面的用户获得该房间
思路是用存储过程实现该要求,但是总是不行,求大神解答。
这个存储过程错在哪里
create procedure pro_1
as
begin
declare @Rreserveid int,@id varchar(5),@type varchar(20),@state varchar(20),@roomid varchar(5),@notes varchar(20)
select @roomid=RoomID ,@notes=Notes from Rooms.RoomReserve where @Rreserveid=RreserveID
select @type=RoomType,@state=RoomState from Rooms.Room where @id=RoomID
if ((select @roomid from Rooms.RoomReserve where @Rreserveid=RreserveID )is null and (select @state from Rooms.Room where @id=RoomID )='空房' and
(select @notes from Rooms.RoomReserve where @Rreserveid=RreserveID)= (select @type from Rooms.Room where @id=RoomID))
--如果预定信息表里该客户没有分配房间,且房间信息存在空房,且空房的房间房间类型和客户所预定的房间类型相等
begin
select @id=RoomID from Rooms.RoomReserve where @Rreserveid=RreserveID --把该空房的房间号赋给没有分配房间的客户
end
end