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