MySql-觸發器
觸發器的概念
觸發器(trigger)是MySQL提供給程式設計師和資料分析員來保證資料完整性的一種方法,它是與表事件相關的特殊的儲存過程,它的執行不是由程式呼叫,也不是手工啟動,而是由事件來觸發,比如當對一個表進行操作(insert,delete, update)時就會啟用它執行
觸發器的基本語法
CREATE TRIGGER trigger_name
trigger_time
trigger_event ON tbl_name
FOR EACH ROW
trigger_stmt
trigger_name ——觸發器的名稱
trigger_time ——觸發時機(before、after)
trigger_event ——觸發事件(insert、update、delete)
tbl_name ——需要建立觸發器的表名
trigger_stmt ——語句體
before和after的區別
before代表觸發器裡面的命令在DML修改資料之前執行,after代表觸發器裡面的命令在DML修改資料之後執行。
!!注意,對同一個表相同觸發時間的相同觸發事件,只能定義一個觸發器;可以使用old和new來引用觸發器中發生變化的記錄內容
new:新增一條語句的新增物件;
old:刪除一條語句的刪除物件;
建立觸發器例項
單一語句的觸發器
after
create TRIGGER tig_test1
after insert on student
for each row
insert into student_copy1 VALUES(new.s_id,new.name,new.gender,new.class)
場景:每次向student表中插入一條資料之後,就向student_copy1表中更新這條資料
before
場景:刪除student表中的一條記錄,同時在student_copy1中備份這條刪除的記錄
create TRIGGER tig_test2
before delete on student
for each row
insert into student_copy1 VALUES(old.s_id,old.name,old.gender,old.class);
包含多條語句的觸發器
create trigger tir_name
before|after insert|delete|update on table_name
for each row
begin
....
end
場景:刪除學生表中一條資料並同時刪除成績表中關於該學生的考試成績
create trigger tirg_test3
after insert on score
for each row
begin
delete from student where s_id='1010';
DELETE from score where s_id ='1010';
END
相關文章
- Oracle觸發器觸發級別Oracle觸發器
- Oracle觸發器6(建立系統事件觸發器)Oracle觸發器事件
- 根據業務寫觸發器(oracle觸發器片)觸發器Oracle
- mysql——觸發器MySql觸發器
- mysql 觸發器MySql觸發器
- SQL觸發器SQL觸發器
- Mysql觸發器:MySql觸發器
- Oracle觸發器Oracle觸發器
- mysql觸發器MySql觸發器
- 【SQL Server】-- 一觸即發之觸發器SQLServer觸發器
- mysql繞過行觸發器,實現語句觸發器MySql觸發器
- sqlserver 列觸發器SQLServer觸發器
- 除錯觸發器除錯觸發器
- 建立MySQL觸發器MySql觸發器
- SqlServer-觸發器SQLServer觸發器
- MySQL使用觸發器MySql觸發器
- MySQL 建立觸發器MySql觸發器
- mysql建立觸發器MySql觸發器
- SQL Server 觸發器SQLServer觸發器
- postgresql 觸發器操作SQL觸發器
- 觸發器詳解觸發器
- 建立SQL觸發器SQL觸發器
- ORACLE DDL觸發器Oracle觸發器
- SQL Server觸發器SQLServer觸發器
- 淺談觸發器觸發器
- Oracle之觸發器Oracle觸發器
- SQL觸發器(二)SQL觸發器
- oracle ddl 觸發器Oracle觸發器
- 瞭解SQL Server觸發器及觸發器中的事務AWSQLServer觸發器
- SQL Sever 2000中的前觸發器和後觸發器SQL觸發器
- MySQL觸發器介紹MySql觸發器
- sql-server觸發器SQLServer觸發器
- pgsql編寫觸發器SQL觸發器
- ORACLE觸發器詳解Oracle觸發器
- Oracle登陸觸發器Oracle觸發器
- DML操作 DDL觸發器觸發器
- oracle 觸發器-表同步Oracle觸發器
- Sql Server系列:觸發器SQLServer觸發器