我有一个Executed SQL Task
SQL 查询来从表中删除数据。我正在使用while循环批量删除数据并尝试/捕获来处理失败。
在Execute SQL Task
我想返回已删除的记录时,我添加了捕获已删除记录的输出参数。但我遇到的问题是,如果失败,我无法捕获/返回已删除的记录(已提交)。
我正在使用以下 SQL 逻辑
Declare @DeletedRows INT = 0
BEGIN TRY
BEGIN TRANSACTION
While (@deletedrows < @rowstodelete)
BEGIN
Delete records where condition is match
SET @deletedrows = @deletedrows + @@rowcount
END
COMMIT TRANSACTION
SET ? = @deletedrows ---- returning deleted rows to output parameter of execute sql task
END TRY
BEGIN CATCH
IF @@TRANCOUNT > 0
ROLLBACK
RAISERROR (CAPTURE ERRORS);
END CATCH
知道如何将已删除或提交的行返回到输出参数Execute SQL Task
吗?