sql server儲存過程回滾事務

2022-04-19 14:36:03 字數 605 閱讀 3274

set nocount on這個很常用

作用:阻止在結果集中返回顯示受t-sql語句或則usp影響的行計數資訊。

當set oncount on時候,不返回計數,當set nocount off時候,返回計數;即使當set nocount on 時候,也更新@@rowcount;當set nocount on時候,將不向客戶端傳送儲存過程每個語句的done_in_proc訊息,如果儲存過程中包含一些並不返回實際資料的語句,網路通訊流量便會大量減少,可以顯著提高應用程式效能;

set xact_abort on--sql事物回滾

begin tran   --開始事物

if not exists(select top 1 1 from 表 where cserviceno=@cserviceno) --過程,提前有返回值必須這樣寫

begin rollback tran

return 338  

endif @@error<>0   --結尾

begin rollback tran

return 0

endelse

begin commit tran

return 100

end

sqlserver 中複雜儲存過程回滾

解決辦法一 在begin transaction 前面加set xact abort on 這樣就可以在過程出錯時中斷執行,當然也就不能commit了 如此再在最後乙個操作的後面加入 if error 0 就說明所有的操作都執行成功了 就可以 commit 具體如 set xact abort on...

回滾操作儲存過程

create or replace procedure roll tab as v tab varchar2 3000 v roll tab varchar2 3000 v sql varchar2 1000 v sql 01 varchar2 1000 cursor cur tab is sele...

MySQL儲存過程事務回滾

sql過程 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 delimiter createdefiner root localhost procedure test procedure begin declareerrnoint declarecontinueh...