MySQL學習之觸發器

2021-08-17 21:35:10 字數 1989 閱讀 4221

對觸發器的理解:

觸發器和儲存過程一樣,都是嵌入在mysql中的一段程式,兩者區別是:觸發器是由事件觸發產生,而儲存過程則是由

call

來呼叫的。觸發器主要用於滿足複雜的業務要求。

一、建立觸發器

1、建立乙個執行語句的觸發器

create trigger trigger_name trigger_time trigger_event

on table_name for each row  trigger_stmt

例項:create table accoutn(acct_num int ,amount decimal(10,2));

create trigger ins_sum before insert  on account

for each row set@sum=@sum+new.amount

;set @sum=0;

insert into account values (1,1.00),(2,2.00);

select @sum;

2、建立多個執行語句的觸發器

create trigger trigger_name trigger_time trigger_event

on table_name for each row

begin

語句執行列表

end

例項:create table test1( a1 int);

create table test2(a2 int);

create table test4(a4 int not null auto_increment primary key,b4 int default 0);

delimiter //

create trigger testref before insert on test1

for each row begin

insert into test2 set a2=new.a1;

delete from test3 where a3=new.a1;

update test4 set b4=b4+1 where a4=new.a1;

end

dilimiter ;

insert into test4 (a4) values

(0),(0),(0),(0),(0),

(0),(0),(0),(0),(0);

insert into test1 values (1),(3),(1),(7),(1),(8),(4),(4);

select * from test1;

select * from test2;

select * from test4;

二、檢視觸發器

1、用show triggers;檢視

2、在triggers表中檢視觸發器資訊

select * from information_schema.triggers where condition;

三、觸發器的使用——特定事件發生啟用物件

四、刪除觸發器

drop trigger [schema_name.] trigger_name;

注意:

1、使用觸發器得特別注意,同表同事件只能建立乙個觸發器,靈活使用觸發器會為操作節省不少時間。

mysql之觸發器詳解 MySQL之觸發器詳解

觸發器 trigger 監事某種情況,並出發某種操作。觸發器建立語法四要素 1 監視地點 table 2 監視事件 insert update delete 3 觸發時間 after before 4 觸發事件 insert update delete create trigger triggern...

MySQL之觸發器

觸發器是個特殊的儲存過程 當乙個預定義的事件發生的時候,被mysql自動呼叫 1 建立只有乙個執行語句的觸發器 create trigger trigger name trigger time trigger event on tb1 name for each row trigger stmttr...

MySQL之觸發器

觸發器 1.建立觸發器 r型別 insert update delete 格式 create trigger 觸發器名 觸發時間 觸發事件 on 表 from each now sql語句 新增一條資訊,顯示提示資訊 delimiter create trigger ct student after...