1
我有一个很大的T-SQL脚本来打开和关闭一些事务。我已经读过,用GO语句提交批处理可以清除所有变量的范围。SQL服务器事务中的变量持久性
鉴于下面的脚本,在事务提交后会定义@MyImportantVariable吗?
这是一个问题,如果是的话,我该如何克服它?
DECLARE @MyImportantVariable INT;
SET @MyImportantVariable = 42;
DECLARE @Counter INT;
SET @Counter = 0
DECLARE UpdateGarmentCursor CURSOR FAST_FORWARD
FOR
SELECT
MyColumn
FROM
MyWonderfulTable
BEGIN TRANSACTION
WHILE @@TRAN_STATUS = 0
BEGIN
-- Do interesting work in here
SET @Counter = @Counter +1
IF(@Counter>10)
BEGIN
COMMIT TRANSACTION
-- What happens here to @MyImportantVariable?
SET @Counter = 0
BEGIN TRANSACTION
END
END
-- Close the transaction one last time
COMMIT TRANSACTION