SQL Server重溫 事務

來源:互聯網
上載者:User

為什麼使用事務
  當對多個表進行更新的時候,某條執行失敗。為了保持資料的完整性,需要使用交易回復。
顯示設定事務 複製代碼 代碼如下:begin try
begin transaction
insert into shiwu (asd) values ('aasdasda');
commit transaction
end try
begin catch
select ERROR_NUMBER() as errornumber
rollback transaction
end catch

隱式設定事務 複製代碼 代碼如下:set implicit_transactions on; -- 啟動隱含交易
go
begin try
insert into shiwu (asd) values ('aasdasda');
insert into shiwu (asd) values ('aasdasda');
commit transaction;
end try
begin catch
select ERROR_NUMBER() as errornumber
rollback transaction; --復原事務
end catch
set implicit_transactions off; --關閉隱含交易
go

顯示事務以下語句不能使用,隱含交易可以 複製代碼 代碼如下:alter database;
backup;
create database;
drop database;
reconfigure;
restore;
update statistics;

顯示事務可以嵌套使用 複製代碼 代碼如下:--建立預存程序
create procedure qiantaoProc
@asd nchar(10)
as
begin
begin try
begin transaction innerTrans
save transaction savepoint --建立事務儲存點
insert into shiwu (asd) values (@asd);
commit transaction innerTrans
end try
begin catch
rollback transaction savepoint --復原到儲存點
commit transaction innerTrans
end catch
end
go
begin transaction outrans
exec qiantaoProc 'asdasd';
rollback transaction outrans

事務嵌套,復原外層事務時,如果嵌套內的事務已經復原過則會有異常。此時需要使用事務儲存點。如上代碼。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.