1樓:匿名使用者
我沒學過oracle,只學了sqlserver,不過我想應該是一樣的吧,就是虛蠢事務失敗罩喊的話,會報錯誤**數字的,可以定義乙個引數接收這個數字,然後判斷這個引數差悶陪是否為0,如果為0的話,表示事務執行成功,不為0的話,表示執行失敗。
2樓:匿名使用者
逐行執行,不報錯就是執行成功。只不過有的語句可能不影響表結構,所以就是影響行數是0
3樓:匿名使用者
-事務成功,返回1,段碼明回滾,返回2。在程式中可以獲取到返回的模含值。
create procedure pro_testasdeclare @a int,@result intset @a=-1
begin transaction
if(@a>握告0)
beginset @result=-1
rollback transaction
endelse
beginset @result=1
commit transaction
endselect @result as resultgoexec pro_test
4樓:匿名使用者
如果沒有設定自動提交,在提交前的回滾都是有效的。
sql資料庫中事務回滾會影響效能嗎
5樓:網友
以sqlserver為例,如果是插入操作,回滾期間鎖表,而且一般級別資料庫消耗時間接近1:3。如果插入進行了1小時有可能要超過3小時多來完成回滾,此時不要強行關閉資料庫或者殺死程序,也為無論如何為了保持acid特性也不會中止回滾只能等。
為什麼sql事務會降低執行效率
6樓:網友
因為每做一次事務,數廳吵據庫要對扮帆侍整個表進行一次檢查,避免有錯誤資料或者髒資料的轎凳操作,保證事務操作之後,整個表的資料是完整合法的。
事務在sql中有什麼作用
7樓:網友
會保證資料的一致性,要成功都成功,要失敗都失敗。但是sql中用事務有可能會導致堵塞資料庫程序,要慎用。
8樓:網友
保證資料的一致性du
如:轉賬。zhi,daoa向b轉賬。a存款,1000;b存款100如果專有乙個約束,賬屬戶裡的餘額必須》0
現在開始轉賬。
update 表名 set 金額=金額+1000 where 姓名=b
update 表名 set 金額=金額-1000 where 姓名= a
這個時候,a轉賬後,賬戶餘額,已經=0,違反了約束,所以 針對asql語句,錯誤。不會執行。那麼a的賬戶餘額還是1000,但是b的sql語句不違反任何約束,會照樣執行,所以b的賬戶會增加1000元。
這樣,資料就錯了。
所以這裡需要事物,要麼兩條語句,一起提交。要麼兩條語句一起不提交。
sql中 事務的作用 什麼情況下要用事務 需要什麼條件
9樓:匿名使用者
什麼是事務:事務是乙個不可分割的工作邏輯單元,在資料庫系統上執行併發操作時事務是做為最小的控制單元來使用的。他包含的所有資料庫操作命令作為乙個整體一起向系提交或撤消,這一組資料庫操作命令要麼都執行,要麼都不執行。
簡單例子銀行轉帳,如果甲把錢匯出去了,但是銀行發生了點問題,錢沒有匯到乙的錢包裡,那錢怎麼辦。
這個時候如果用上事務,錢就會回滾到甲,乙個減少,乙個增加,要麼執行,要麼不執行。
10樓:匿名使用者
事物一般用在併發操作多張表的時候使用,用於保證使用者的資料完整性~
不需要什麼條件,在對多張關聯表做操作的時候,最好就是加上事物~
sql事務處理有什麼意義啊?謝謝
11樓:匿名使用者
保證事務的完整性。簡單點的說法,比如說你現在在a表中新增一條資料,同時這條資料要在b表中刪除,那麼如果你在a表中新增成功的之後在b表中刪除出現錯誤會導致刪除b表資料失敗。照成了資料髒讀髒寫,而用事務則可以保證不會出現這種情況。
12樓:網友
簡單來說可以保證過程處理的完整性,我是這樣理解的,事務處理可以將一組操作視為乙個整體,只有全部語句都成功執行後,事務處理才算成功;
若其中有乙個語句執行失敗,則整個處理就算失敗,並恢復到處理前的狀態。
sql 事務問題
13樓:匿名使用者
@@error
如果前乙個 transact-sql 語句執行沒有錯誤,則返回 0。
看看你的儲存過程。
理論上來說。
update s_cell
set amount=50 where product_id='10012' --修改當前庫存。
與update s_gather_detailsset gather_tag='k002-2' where product_id='10012' --修改入庫狀態。
並不會發生錯誤 ( 通常情況下,如果資料庫沒問題的話。)也就是說,那個 update 要出錯。 要麼就是 欄位大小不對。
比如 gather_tag 的資料型別為 varchar(2), 或者是 int
那麼 update 操作, 是要出錯了。
sql 事務
14樓:網友
這語句拿到查詢分析器執行會報錯嗎,如果不會,那可能是下面這種情況只有有出錯的情況下才會回滾,如果值不存在(product_id='10012' )是不會出錯的,只是受影響行數為0
可以這樣判斷。
if @@rowcount=0 or @@error<>0begin
15樓:網友
begin tran t1
if @err<>0
rollback tran t1
end tran t1
t1是事件名,自定義的。
if @err<>0 就回滾,否則不是commit還能是什麼?
記住:有begin一定要有end
16樓:網友
感覺沒什麼錯。
set @err=@err+abs(@@error)
abs是啥沒見過這樣寫的不知道行不行,我都直接寫set @err=@err +@error
17樓:
我平時是這樣用的。
if @@error <>0 or @@rowcount <>1
beginrollback tran
return
endcommit tran
為什麼顏色也會影響人的心情,什麼顏色影響人的心情?
第一,視覺是人類對付自然界的一種遺傳進化 是為了保證物種,在危險的環境中得以遺傳。所有有眼睛的生物,都會依靠光線和色彩,對外界環境,做一個危險還是平安的判斷。視覺在不斷的進化過程中,產生了區分顏色和感受,你在大腦裡進行歸納總結。比如黑夜代表著更多的危險和警惕,所以人的視覺一碰上黑色的時候,心情就會特...
尼采 我為什麼這麼聰明,尼采的影響為什麼那麼大 ?
沒有錯,這就是全世界六十六億人口,精英廖廖無己的原因。你看看到處流言斐語,張三是不是某某的孩子,李四又怎麼怎麼了,道聽途說充斥著各個角落,那些無腦者拾起視為問題,於是傻瓜就越來越多了。尼采我為什麼這麼聰明 尼采是理性的來。批判理性帶源來的謬誤是正確的,bai但是不du能否定理性的存zhi在,理性的歷...
尼采的影響為什麼那麼大,尼采影響了那些人?
悲情英雄 尼采 朱姓六石 因為他對社會的本質和人類的本性揭露得太深,不能不激起人們心靈的震撼。他的悲慘命運不能不引起人們的同情和深思 社會是什麼?人是什麼?天才的命運是什麼?尼采使人們開始肯定自我 認識自我 實現自己的超越 能意識到更深處,以內在激情喚醒並表述那些看不到的實在 尼采的影響為什麼那麼大...