mysql簡單的觸發器語法 mysql觸發器 學習

2021-10-18 11:50:40 字數 1988 閱讀 8760

1.       說明:

觸發器的定義就是說某個條件成立的時候,你觸發器裡面所定義的語句就會被自動的執行。因此觸發器不需要人為的去呼叫,也不能呼叫。然後,觸發器的觸發條件其實在你定義的時候就已經設定好的了。這裡面需要說明一下,觸發器可以分為語句級觸發器和行級觸發器。簡單的說就是語句級的觸發器可以在某些語句執行前或執行後被觸發。而行級觸發器則是在定義的了觸發的表中的行資料改變時就會被觸發一次。

2.       觸發器作用:

安全性;審計;實現複雜的資料完整性規則;實現複雜的非標準的資料庫相關完整性規則;同步實時地複製表中的資料

3.       語法結構:

create trigger trigger_name (before|after) (delete|update|insert) on table_name

for each row

begin

要觸發的sql語句;

end;;

4.       例子1:

delimiter ;;    定義sql命令結束符

drop trigger d1;;  刪除觸發器

drop trigger d1;;

create  trigger d1 before delete on employee

for each row      表示行級觸發器

begin

insert into tg_employee_log set name=old.name,name_id=old.employee_id,action='delete';

update tg_assets_info set as_status='2',user=205 where user=old.employee_id;

end;;

表示在刪除employee裡的資料之前,在tg_employee_log表裡面插入一條資料,並且更新tg_assets表的資料。

注意:這裡用到的old.employee_id,表示刪除之前的資料。

5.       例子2:

create  trigger d2 after insert on employee

for each row

begin

insert into tg_employee_log set name=new.name,name_id=new.employee_id,action='add';

end;;

表示在employee插入之後,在tg_employee_log表裡插入一條資料。

注意:這裡用到了new.employee_id,表示插入之後產生的新資料。

delimiter ;

create trigger trigger_name (befofe|after) (delete|update|insert) on table_name

for each row

begin

要解發的sql語句

end;;

create trigger `tb_trigger_insert` after insert on `tb_trigger`

for each

row insert into `tb_trigger_log` set `action` = 'insert',`actionid` = new.id;

create trigger `delete_tb_sys_template_source` before delete on `tb_sys_template`

for each row

delete from `tb_sys_template_source` where `templateid`=old.id;

create trigger `delete_tb_sys_template_source` before delete on `tb_sys_template`

for each row

delete from `tb_sys_template_source` where `templateid` = old.id;

mysql ,觸發器語法

1.語法 命名規則 create trigger 觸發器名稱 on 表名稱 for each row 觸發器sql語句 觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.這裡我有個習慣 就是用表的名字 觸發器型別的縮寫.因此如果是表t26,觸發器是在...

觸發器語法

建立觸發器的語法如下所示 create trigger trigger name on table orview name with encryption execute as not for replication as sql statements external name assembly ...

觸發器 mysql觸發器

觸發器是一種特殊的儲存過程,它在插入 刪除或修改特定表中的資料時觸發執行,它比資料庫本身標準的功能有更精細和更複雜的資料控制能力。和儲存過程一樣,很少使用。1 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...