數據庫知識點---事務

事務:事務是需要在同一個處理單元中執行的一系列更新處理的集合。

事務處理的終止指令包括:commit 和 rollback
 
DBMS的事務具有 ACID 四種屬性 
原子性 atomicity
一致性 consistency
隔離性 isolation
持久性 durability


在RDBMS系統中,事務代表了對錶中數據進行更新的單位

例如:在某公司的會議上,大家決定將a襯衫銷售價格降低100元出售,b襯衫的銷售價格上漲50元。正常邏輯就是寫sql句子咯:
update clothes 
set a_shirt_price = a_shirt_price - 100 
where colthes_name = 'a_shirt';

update clothes 
set b_shirt_price = b_shirt_price + 100 
where colthes_name = 'b_shirt';


但是上述兩個操作必須在同一個單元進行處理,任何一項操作被忘記,都會對公司造成影響。所以,事務就是解決上述問題的。
在DBMS系統的創建事務的語法,如下:

事務開始語句;
DML語句①(DML句子包括:INSERT、UPDATE、DELETE、SELECT  DDL句子包括:CREATE、ALTER、DROP )
DML語句②
DML語句③
事務結束語句(commit rollback)


在標準的SQL中並沒有定義事務的開始語句,而是由各個DBMS自己來定義的。比較有代表性的語法如下:

1、SQL Server、PostgreSQL 
BEGIN TRANSACTION

2、MySQL
START TRANSACTION 

3、Oracle、DB2



那麼對應的,在demo中,該公司進行襯衫價格調整的sql句子在Oracle中就該是按照如下寫法:

update clothes 
set a_shirt_price = a_shirt_price - 100 
where colthes_name = 'a_shirt';
update clothes 
set b_shirt_price = b_shirt_price + 100 
where colthes_name = 'b_shirt';
COMMIT;






























發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章