很高兴写出了一个存储过程的核心,请提批评意见

panyong2002 2003-06-13 11:39:08
--- 感谢 tj_dns(愉快的登山者)、myflok(阿棋)

---- 功能 -----
---- 依当前时间为起点,未来某个时间为终点,每间隔10分钟显示
---- 房间的占用和预约数量


delete roomtemp ---- 删除表中所有记录

declare @subno char(2)
declare @stardate datetime
declare @enddate datetime
declare @stepdate datetime

declare @sumqty int ---- 房间总数
declare @useqty int ---- 占用房间
declare @resqty int ---- 预约房间

set @subno='01'
set @stardate = '2003-6-12 9:00'
set @enddate = '2003-6-13 1:00'
set @stepdate = @stardate

select @sumqty=count(*) from room
where subno=@subno
if @sumqty is null
set @sumqty=0

while @stepdate <= @enddate
begin
set @stepdate = dateadd(minute, 10, @stepdate)

----- 正在占用的房间总数 ----------
select @useqty=count(*) from view_RoomFreeTime
where (substring(roomno,1,2)=@subno) and freetime > @stepdate
if @useqty is null
set @useqty=0

----- 预约房间总数 ----------
select @resqty=sum(roomqty) from view_RoomReserve
where substring(reserveno,1,2)=@subno and
arrivetime<=@stepdate and leavetime>=@stepdate
if @resqty is null
set @resqty=0

---- 插入记录 --------
insert RoomTemp(Stepdt,sumqty,usedqty,reseqty,freeqty)
values (@stepdate,@sumqty,@useqty,@resqty,@sumqty - @useqty - @resqty)

end -- end while
...全文
41 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 2003-06-13
  • 打赏
  • 举报
回复
不错
happydreamer 2003-06-13
  • 打赏
  • 举报
回复
不错啊
jietuan 2003-06-13
  • 打赏
  • 举报
回复
这么简单
WebDB 2003-06-13
  • 打赏
  • 举报
回复
congratulations...
dafu71 2003-06-13
  • 打赏
  • 举报
回复
学习
CrazyFor 2003-06-13
  • 打赏
  • 举报
回复
不错
cainiao000 2003-06-13
  • 打赏
  • 举报
回复
不错

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧