SQL 游标

发布时间 2023-10-19 10:26:57作者: webmtjj

 

BEGIN TRANSACTION;
declare @Id datetime 
DECLARE My_Cursor CURSOR --定义游标
FOR 
(select columnName from tableName ) --查出需要的集合放到游标中
OPEN My_Cursor; --打开游标
FETCH NEXT FROM My_Cursor INTO @Id; --读取第一行数据(将表中的Id放到@Id变量中)
WHILE @@FETCH_STATUS = 0
BEGIN
    --操作
    --执行脚本后 如果有异常,回滚
    IF @@ERROR <> 0
    BEGIN
    ROLLBACK ;
    CLOSE my_cursor;
    DEALLOCATE my_cursor;
    END

FETCH NEXT FROM My_Cursor INTO @Id; --读取下一行数据(将表中的Id放到@Id变量中)
END
CLOSE My_Cursor; --关闭游标
DEALLOCATE My_Cursor; --释放游标
COMMIT TRANSACTION;--没有问题,提交事务