MySQL觸發器難不難學學 mysql觸發器 學習

2021-10-18 11:58:50 字數 1988 閱讀 5217

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 觸發器的作用 2 建立觸發器 建立測試環境 mysql create database test db query ok,1 row aff...

my sql 觸發器 mysql建立觸發器

首先,我們來了解一下什麼是觸發器,觸發器,就是在對一張表資料進行增 insert 刪 delete 改 update 的時候,為了保持資料的一致性,對別的表也要進行相應的資料修改。我們都知道mysql最後事務提交後,資料是會儲存到磁碟上的,那麼每次在insert,delete,update時候舊資料...

my sql 觸發器 MySQL檢視觸發器

檢視觸發器是指檢視資料庫中已經存在的觸發器的定義 狀態和語法資訊等。mysql 中檢視觸發器的方法包括 show triggers 語句和查詢 information schema 資料庫下的 triggers 資料表等。本節將詳細介紹這兩種檢視觸發器的方法。show triggers語句檢視觸發器...