程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> MSSQL >> SQL Server重溫 事務

SQL Server重溫 事務

編輯:MSSQL

SQL Server重溫 事務。本站提示廣大學習愛好者:(SQL Server重溫 事務)文章只能為提供參考,不一定能成為您想要的結果。以下是SQL Server重溫 事務正文


為何應用事務
  當對多個表停止更新的時刻,某條履行掉敗。為了堅持數據的完全性,須要應用事務回滾。
顯示設置事務

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

事務嵌套,回滾外層事務時,假如嵌套內的事務曾經回滾過則會有異常。此時須要應用事務保留點。如上代碼。
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved