可使用CURSOR來處理。
--範例如下
DECLARE Cursor_tmp CURSOR FOR --建立Cursor
(select MixRubNo,MachNo,Ver,TMNo
from #RubSpec_Tmp
where GSeq='1')
OPEN Cursor_tmp--開啟Cursor
FETCH NEXT FROM Cursor_tmp INTO @xMixRubNo,@xMachNo,@xVer,@xTMNo--將值放入變數
WHILE @@FETCH_STATUS = 0--有回傳值
BEGIN
UPDATE RubSpec SET isCal='1' where MixRubNo=@xMixRubNo
and MachNo=@xMachNo
and Ver=@xVer
and TmNo=@xTMNo
FETCH NEXT FROM Cursor_tmp INTO @xMixRubNo,@xMachNo,@xVer,@xTMNo--將值放入變數
END
CLOSE Cursor_tmp--關閉Cursor
DEALLOCATE Cursor_tmp--釋放Cursor
參考自:MSDN-CURSOR
MSDN-@@FETCH_STATUS
MSDN-DEALLOCATE
日月-[SQL] Cursor 使用方法
好風工作室-[T-SQL]在巢狀迴圈抓@@fetch_status會回傳-1的解決方法
沒有留言:
張貼留言