觸發器:業務是緊密相連的,不可分割的,可以使用觸發器
觸發器的四個要素
1. 監視地點
2. 監視事件
3. 觸發時間
4. 觸發事件
after:在之後,當我監視事件發生增刪改以後,進行觸發
before:先完成觸發,再進行增刪改。監視事件之前
建立觸發器的語法
create trigger 觸發器名稱
after/before (觸發時間)
insert/update/delete (監視事件)
on 表名 (監視位址)
for each row --定死的
begin
sql1;
...sqln;
end例: create trigger mycf1
after -- 觸發時間
insert -- 監聽事件
on o -- 監聽地點
for each row
begin
-- 觸發事件『
update g set much=much-new.num where gid=new.gid;
end
事務:指的是一組操作,要麼都執行成功,要麼都執行失敗
使用事務使用innodb儲存引擎
事務的四大特性:
原子性:指的是一組操作,要麼都執行成功,要麼都執行失敗
隔離性:在所有操作執行未完成之前,其他會話是不能看到中間過程的
一致性:事務發生前和發生後的金額依然匹配
永續性:事務產生的影響是不能撤銷的
操作 開啟事務:start transaction
結束事務:commit(提交)或rollback(回滾)
在執行sql語句之前,先執行strat transaction,這就開啟了乙個事務(事務的起點),然後可以去執行多條sql語句,然後要結束事務,commit表示提交,即事務中的多條sql語句所做出的影響會持久化到資料庫中,或者rollback,表示回滾,即回滾到事務的起點,之前做的所有操作都被撤消了。
例:轉賬
start transaction;
update customer set custmoney=custmoney-1 where custnumber='0000';
update customer set custmoney=custmoney+1 where custnumber="3333";
commit;
觸發器 事務
觸發器的關鍵字為trigger,分為inserted 和 deleted 理解觸發器裡面的兩個臨時的表 deleted inserted 注意deleted 與inserted分別表示觸發事件的表 舊的一條記錄 和 新的一條記錄 乙個資料庫系統中有兩個虛擬表用於儲存在表中記錄改動的資訊,分別是 in...
觸發器 事務
觸發器 觸發器為特殊型別的儲存過程,可在執行語言事件時自動生效。sql server 包括三種常規型別的觸發器 dml 觸發器 ddl 觸發器和登入觸發器。當伺服器或資料庫中發生資料定義語言 ddl 事件時將呼叫 ddl 觸發器。登入觸發器將為響應 logon 事件而激發儲存過程。與 sql ser...
事務與觸發器A
事務 具有統一性的過程。可以新增for update來限制併發更新。主要由commit和rollback組成,他們不可同時有序執行。觸發器 不允許有引數。對於表加上約束,審計表的資訊。資料操作源觸發器,它建立在表的基礎之上。行級觸發器 例如建立刪除觸發器 create or replace trig...