1
我想从SQL Server while循环执行动态SQL。当执行唯一的打印语句时,将以正确格式查询打印,但不会使用或SP_EXECUTESQL
执行动态SQL。请建议。 代码:SQL Server While循环和动态SQL
WHILE(@count > 0)
BEGIN
SELECT
@minID = MinID,
@maxID = MaxID
FROM
IDRange
WHERE
ID = @count
SET @QueryString = ' UPDATE
SD WITH(TABLOCk)
SET a = S4H.ID
FROM
A (nolock) S4H
INNER JOIN B SD on S4H.col = SD.col AND S4H.col1 = SD.col1
WHERE
SD.ID between ' + convert (varchar,@minID)+' AND '+convert (varchar,@maxID)+' AND
S4H.ID <= SD.ID AND
SD.ID <= S4h.ROWID'
SET @count= @count - 1'
print @QueryString
EXECUTE (@QueryString)
EXECUTE sp_executesql @QueryString, N'@minID INT,@maxID INT', @minID = @minID,@maxID= @maxID
--EXEC SP_EXECUTESQL @QueryString
--SELECT @Rcount= @@Rowcount
SET @count= @count - 1
END
END