我正在尝试从一个表中删除两个id,其中id“1”无法删除,因为有另一个表引用users表,但id“2”可以删除,因此我希望即使它会给我id“1”的运行时错误,它也应该为“2”成功运行,从表中删除id“2”
但是用这个代码我得到了这个错误
在批处理结束时检测到消息3998,级别16,状态1,行1不可提交事务。事务被回滚。declare@id int declare tempcursor cursor local fast\u forward for select id from users where id in(1,2)对于id在(1,2)中的用户
OPEN TempCursor
WHILE 1=1
BEGIN
FETCH NEXT FROM TempCursor
INTO @Id
IF @@FETCH_STATUS < 0 BREAK
BEGIN TRY
SET XACT_ABORT ON
BEGIN TRAN DeleteTrans
DELETE Users WHERE Id = @Id
COMMIT TRAN DeleteTrans
END TRY
BEGIN CATCH
print @AdviserBusinessId
END CATCH
END
CLOSE TempCursor ;
DEALLOCATE TempCursor ;
暂无答案!
目前还没有任何答案,快来回答吧!