如何使用存储过程在while循环中增加多个值?
问题描述:
我在SQL真新,但是这是我到目前为止有:如何使用存储过程在while循环中增加多个值?
Alter Procedure GetallSchedule(@ScreenKey INT,@ShowNo INT) As
BEGIN
--DECLARE @ScreenKey INT
--DECLARE @ShowNo INT
--Declare @j INT
--Declare @i INT
Insert into Schedule(Cineplex,
ScreenKey,ShowOrder,ShowNo,FilmKey,ShowDate,ShowTime)
Values (1,@ScreenKey,1,@ShowNo,100,GETDATE(),GETDATE())
SET @ShowNo = 1
SET @ScreenKey = 1
WHILE (@ScreenKey <=20)
BEGIN
WHILE (@ShowNo <=7)
BEGIN
Insert into Schedule(
Cineplex,
ScreenKey,ShowOrder,ShowNo,FilmKey,ShowDate,ShowTime)
Values (1,@ScreenKey,1,@ShowNo,100,GETDATE(),GETDATE())
SET @ShowNo = @ShowNo + 1
END
SET @ScreenKey = @ScreenKey + 1
END
END
go
--Execute GetallSchedule 'TUC'
在这里,我需要插入值增加两个Screenkey
和ShowNo
。我需要获得20个屏幕的结果,每个显示7个显示
答
您的ShowNo
变量需要在每次运行内部While循环前重置为1。下移一行有点...
SET @ScreenKey = 1
WHILE (@ScreenKey <=20)
BEGIN
SET @ShowNo = 1 -- this one -- reset to 1 before using in loop
WHILE (@ShowNo <=7)
BEGIN
Insert into Schedule....
如您有它的变量结束了循环尽管它的范围只是一次,没有机会再做工作。