set
xact_abort
指定當transact
-sql
陳述式發生執行時期錯誤時
,microsoft
®sql
server™
是否會自動復原目前的交易。
語法set
xact_abort 備註
當setxact_abort
設定為on
時,如果
transact
-sql
陳述式發生執行期錯誤
,整個交易都會中斷並復原。設定為
off時
,只有發生錯誤的
transact
-sql
陳述式會復原
,交易將繼續處理。編譯錯誤,例如語法錯誤並不會受到
setxact_abort
的影響。
大部份ole
db提供者的隱含或內顯交易的資料修改陳述式都要求必須將
xact_abort
設定為on
,包含sql
server
在內。唯一不需要設定此選項的情形是當提供者支援巢狀交易時。如需詳細資訊,請參閱分布式查詢及分布式交易。
setxact_abort
的設定是在執行或執行時期設定
,而不是在剖析時期設定。
範例 本範例在還有其他
transact
-sql
陳述式的交易中
,造成外部索引鍵違反錯誤。在第一組陳述式中會產生錯誤,但是其他的陳述式將成功地執行,交易也會成功地認可。在第二組陳述式中,
setxact_abort
設定變更為
on,將造成陳述式錯誤,中斷批次及交易復原。
create
tablet1(
aint
primary
key)
create
tablet2(
aint
referencest1(
a))go
insert
into
t1values
(1)insert
into
t1values
(3)insert
into
t1values
(4)insert
into
t1values
(6)go
setxact_abort
offgo
begin
tran
insert
into
t2values
(1)insert
into
t2values
(2)/* foreign key error */
insert
into
t2values
(3)commit
trango
setxact_abort
ongo
begin
tran
insert
into
t2values
(4)insert
into
t2values
(5)/* foreign key error */
insert
into
t2values
(6)commit
trango
/* select shows only keys 1 and 3 added.
key 2 insert failed and was rolled back, but
xact_abort was off and rest of transaction
succeeded.
key 5 insert error with xact_abort on caused
all of the second transaction to roll back. */
select
*from
t2go
drop
table
t2drop
table
t1go
SET XACT ABORT各種用法及顯示結果
預設為set xact abort off,沒有事務行為。set xact abort on分為兩種 1 總體作為乙個事務,整體提交或整體回滾,格式為 set xact abort on begin tran 要執行的語句 commit tran go 2 每個語句作為乙個事務,事務在錯誤行終止,錯...
完美拖拽 return false的用法 事件繫結
1.return false可以用來阻止預設事件即系統預設事件。例如通過阻止預設事件,來對textarea中的值進行範圍限制 通過限制keycode的數值 也可以自定義在頁面中的右鍵選單 oncontextmenu 2.在滑鼠移動 mousemove 等事件中,是需要給事件傳乙個引數,保證程式的正常...
SQL基礎語法 事務
事務的四大特性有 原子性 atomicity 乙個事務的操作要麼全部成功要麼全部失敗 一致性 consistency 保持資料的邏輯一致,符合原子性不一定符合一致性,如轉賬增加的錢與減少的錢不一致 隔離性 isolation 多個使用者併發操作同一資料時,資料庫為每乙個使用者開的事務上鎖,達到隔離的...