--声明一个游标
--定义一个叫Cursor_temp的游标,存放FOR SELECT 后的数据
DECLARE Cursor_temp CURSOR
FOR
SELECT Id,Code FROM TableName
--打开一个游标
OPEN Cursor_temp
DECLARE
@ID uniqueidentifier,
@Code nvarchar(50);
--循环一个游标
--移动游标指向第一条数据,提取第一条数据存放在变量中
FETCH NEXT FROM Cursor_temp INTO @ID,@Code
--如果上一次游标操作成功则继续循环
WHILE @@FETCH_STATUS =0
BEGIN
BEGIN TRY
--处理上次提取的游标数据
--编写处理代码--
PRINT(@Code)
--提取下一行数据,分开两次代码提取,为了方便While判断@@FETCH_STATUS
FETCH NEXT FROM Cursor_temp INTO @ID,@Code
END TRY
BEGIN CATCH
SELECT ERROR_NUMBER() errorNumber, --错误代码
ERROR_SEVERITY() errorSeverity, --错误严重级别,级别小于10 try catch 捕获不到
ERROR_STATE() errorState, --错误状态码
ERROR_PROCEDURE() errorProcedure, --出现错误的存储过程或触发器的名称
ERROR_LINE() errorLine, --发生错误的行号
ERROR_MESSAGE() errorMessage --错误的具体信息
PRINT ERROR_MESSAGE() --错误的具体信息
--处理异常
;THROW
END CATCH
END