mysql5 0觸發器的使用介紹

2021-06-22 12:56:51 字數 2083 閱讀 3673

執行成功的觸發器的建立例項

delimiter $$;

drop trigger `zwgk`.`sys_unit_clear_t`$$

create trigger `sys_unit_clear_t` after delete on `sys_unit` 

for each row

begin

delete from sys_user where unitid=old.id;

delete from sys_unitrole where unitid=old.id;

end;

$$delimiter ;$$

mysql 觸發器簡單例項 

1、語法:

create trigger 《觸發器名稱》  --觸發器必須有名字,最多64個字元,可能後面會附有分隔符.它和mysql中其他物件的命名方式基本相象.

--觸發器有執行的時間設定:可以設定為事件發生前或後。

--同樣也能設定觸發的事件:它們可以在執行insert、update或delete的過程中觸發。

on 《表名稱》  --觸發器是屬於某乙個表的:當在這個表上執行插入、 更新或刪除操作的時候就導致觸發器的啟用. 我們不能給同一張表的同乙個事件安排兩個觸發器。

for each row  --觸發器的執行間隔:for each row子句通知觸發器 每隔一行執行一次動作,而不是對整個表執行一次。

《觸發器sql語句》  --觸發器包含所要觸發的sql語句:這裡的語句可以是任何合法的語句, 包括復合語句,但是這裡的語句受的限制和函式的一樣。

--你必須擁有相當大的許可權才能建立觸發器(create trigger),如果你已經是root使用者,那麼就足夠了。這跟sql的標準有所不同。

2、簡單例項:

example1:

--建立表tab1

drop table if exists tab1;

create table tab1(

tab1_id varchar(11)

);--建立表tab2

drop table if exists tab2;

create table tab2(

tab2_id varchar(11)

);--建立觸發器:t_afterinsert_on_tab1

--作用:增加tab1表記錄後自動將記錄增加到tab2表中

drop trigger if exists t_afterinsert_on_tab1;

create trigger t_afterinsert_on_tab1 

after insert on tab1

for each row

begin

insert into tab2(tab2_id) values(new.tab1_id);

end;

--測試一下

insert into tab1(tab1_id) values('0001');

--看看結果

select * from tab1;

select * from tab2;

example2:

--建立觸發器:t_afterdelete_on_tab1

--作用:刪除tab1表記錄後自動將tab2表中對應的記錄刪去

drop trigger if exists t_afterdelete_on_tab1;

create trigger t_afterdelete_on_tab1

after delete on tab1

for each row

begin

delete from tab2 where tab2_id=old.tab1_id;

end;

--測試一下

delete from tab1 where tab1_id='0001';

--看看結果

select * from tab1;

select * from tab2;

使用別名old和new,能夠引用與觸發程式相關的表中的列。old.col_name在更新或刪除它之前,引用已有行中的1列。new.col_name在更新它之後引用將要插入的新行的1列或已有行的1列。

mysql5 0觸發器的使用介紹

執行成功的觸發器的建立例項 delimiter drop trigger zwgk sys unit clear t create trigger sys unit clear t after delete on sys unit for each row begin delete from sys...

積分觸發器 mysql 觸發器的使用

將多個資料庫中的某列資料同步時需要用到mysql觸發器,以下可做參考,已簡單測試ok.修改紅棗的積分時觸發 drop trigger if exists u hongzaocount delimiter create trigger u hongzaocount after update on ho...

mysql 觸發器 觸發器使用

1 了解什麼是觸發器?mysql 的觸發器和儲存過程一樣,都是嵌入到mysql的一段程式,觸發器 是由事件觸發某個動作,這些事件包括,插入 更新 刪除等語句。如果定義了觸發程式,觸發器就會觸發執行相應的操作。觸發器 trigger 是個特殊的儲存過程,不同的是,執行儲存過程要使用call語句來呼叫,...