08章项目

来源:互联网 发布:java自行车价格表 编辑:程序博客网 时间:2024/05/22 10:52
--1  alter procedure  usp_GetTotalNum   @Typename nvarchar(32),   @GuestNum int output  as   select @GuestNum=COUNT(*) from  GuestRecord   where RoomID in   (     select RoomID from  Room      where RoomTypeID in     (       select TypeID from RoomType       where TypeName=@Typename     )   )  declare @num int  exec usp_GetTotalNum 'Single',@num output  print 'total:'+convert(nvarchar(20),@num)  select * from guestrecord    --2  create procedure usp_RoomInfo   @roomnum int  as   if(@roomnum=-1)   begin     select room.RoomID,Room.BedNum,Room.RoomStateID,TypeName,TypePrice      from room,roomtype      where room.roomtypeid=Roomtype.TypeID   end  else  begin      select room.RoomID,Room.BedNum,Room.RoomStateID,TypeName,TypePrice      from room,roomtype      where room.roomtypeid=Roomtype.TypeID      and Room.RoomID=@roomnum  end  exec usp_RoomInfo 1008    --3  select * from roomtype  select * from room  create procedure  usp_DelListByType    @typeName nvarchar(20)  as   if not exists   (     select RoomTypeId from room     where roomtypeid in     (       select typeid       from roomtype       where typename=@typename     )   )   begin      delete from roomtype      where typeName=@typename      return @@rowcount  end  else  return -1  declare @result int  exec @result=usp_DelListByType '标准间'  if(@result>0)  print '删除了'+convert(nvarchar(20),@result)+'条记录'  else  print @result    --4   create Proc usp_insertGuestRecord    @identityID nvarchar(20),    @guestName nvarchar(20),    @roomID int,    @resideID int,    @resideDate datetime,    @leaveDate datetime,    @Deposit decimal(18,2)=1000,    @TotalMoney decimal(18,2),    @guestID int output  as    if(len(@identityID)!=18)    begin      print '身份证号只能是18位'      return    end    begin tran     declare @ErrorSum int     insert into GuestRecord     values(@identityID,@guestName,@roomID,@resideID,     @resideDate,@leaveDate,@Deposit,@TotalMoney)     set @ErrorSum=@ErrorSum+@@Error       declare @roomStateID int     select @roomStateID=RoomStateID from roomState     where RoomStateName='已入住'     update room set RoomStateID=@roomStateID     where RoomID=@roomID     set @ErrorSum=@ErrorSum+@@Error     if(@ErrorSum>0)     begin       rollback tran     end     else     begin     commit tran     set @guestID=@@Identity     end   declare @guestID int   exec usp_insertGuestRecord '410523198806267523','李小龙',1008,1,'2013-3-11','2013-3-15',500,500,@guestID output  if(@guestID>0)  begin    print '操作成功,客户编号是'+convert(nvarchar(20),@guestID)  end  else   print '操作失败'  

0 0