它表示命令已成功执行,但组织表中没有插入任何值。
DECLARE @now DATETIME
SET @now = GETDATE()
DECLARE @numtoinsert INT
SET @numtoinsert = 100
DECLARE @counter INT
SET @counter = 101
WHILE @counter < @numtoinsert
BEGIN
SET @counter = @counter + 1
INSERT INTO [MVServices].[dbo].[Organization]
([Organization_Id]
,[Business_Number]
,[Legal_Name]
,[Common_Name]
,[Operating_As]
,[Sort_Name]
,[Effective_Date]
,[Expiry_Date]
,[Created_By]
,[Created_Date]
,[Last_Changed_By]
,[Update_Date])
VALUES
(@counter
,1234
,'ABC Construction'
,'ABC'
,'ABC Construction'
,'ABC Construction'
,@now
,null
,'seed'
,@now
,null
,null)
END
答案 0 :(得分:9)
它没有插入任何内容,因为您的WHILE
条件是:
WHILE @counter < @numtoinsert
和101&gt; 100,所以它永远不会进入循环。
答案 1 :(得分:3)
这是因为您只要@counter < @numtoinsert
插入记录,而@counter
为101,它就不会小于@numtoinsert
,即100。
答案 2 :(得分:2)
您有两个变量如下:
SET @numtoinsert = 100
SET @counter = 101
然后insert语句在while循环中:
WHILE @counter < @numtoinsert
计数器开头不大于numtoinsert,因此不执行insert语句。
答案 3 :(得分:1)
你的逻辑错误:
SET @numtoinsert = 100
SET @counter = 101
WHILE @counter < @numtoinsert
你在说:
WHILE 101 IS SMALLER THAN 100
此计算结果为false,因此您永远不会进入while循环。