SQL Server2008R2循环语句

单循环语句

declare @i nvarchar(36)
declare @LOCNUM nvarchar(36),@OBJECTTYPE nvarchar(36),@LOCDESC nvarchar(60),@LOCSTATUS nvarchar(36),@LOCSTORESTATUS nvarchar(36),@LINE decimal(5,0),@LIE decimal(5,0),@LAYER decimal(5,0)
set @i=13
while @i<31
begin
set @LOCNUM='OME01_0011010'+@i+'00100'
set @OBJECTTYPE='TBuff'
set @LOCDESC='1巷道1行'+@i+'列1层'
set @LOCSTATUS='Normal'
set @LOCSTORESTATUS='Free'
set @LINE=1
set @LIE=@i
set @LAYER=1


INSERT INTO [WMSServer].[dbo].[TWMS_LOC]
           ([LOCNUM]
           ,[OBJECTTYPE]
           ,[LOCDESC]
           ,[LOCSTATUS]
           ,[LOCSTORESTATUS]
           ,[LINE]
           ,[LIE]
           ,[LAYER])
     VALUES
           (@LOCNUM
           ,@OBJECTTYPE
           ,@LOCDESC
           ,@LOCSTATUS
           ,@LOCSTORESTATUS
           ,@LINE
           ,@LIE
           ,@LAYER)
 set @i=@i+1
 end
           
GO

 

多循环语句

 

truncate  table [WMSServer].[dbo].[TWMS_LOC] /***清空所有表的数据内容***/

declare @i nvarchar(36),@j nvarchar(36),@k nvarchar(36)
declare @LOCNUM nvarchar(36),@OBJECTTYPE nvarchar(36),@LOCDESC nvarchar(60),@LOCSTATUS nvarchar(36),@LOCSTORESTATUS nvarchar(36),@LINE decimal(5,0),@LIE decimal(5,0),@LAYER decimal(5,0)
set @i=1
while @i<33
begin
set @j=13
while @j<31
begin
set @k=1
while @k<3
begin
set @LOCNUM='OME01_0011'+@i+'0'+@j+'00'+@k+'00'
set @OBJECTTYPE='TBuff'
set @LOCDESC='1巷道'+@i+''+@j+''+@k+''
set @LOCSTATUS='Normal'
set @LOCSTORESTATUS='Free'
set @LINE=@i
set @LIE=@j
set @LAYER=@k
INSERT INTO [WMSServer].[dbo].[TWMS_LOC]
           ([LOCNUM]
           ,[OBJECTTYPE]
           ,[LOCDESC]
           ,[LOCSTATUS]
           ,[LOCSTORESTATUS]
           ,[LINE]
           ,[LIE]
           ,[LAYER])
     VALUES
           (@LOCNUM
           ,@OBJECTTYPE
           ,@LOCDESC
           ,@LOCSTATUS
           ,@LOCSTORESTATUS
           ,@LINE
           ,@LIE
           ,@LAYER)
 set @k=@k+1
 end
 set @j=@j+1
 end
 set @i=@i+1
 end
GO
View Code

 

 

 

 

 

 

posted @ 2019-03-15 20:31  U3DEngineer  阅读(824)  评论(0编辑  收藏  举报