--你必須擁有相當大的許可權才能建立觸發器(create trigger),如果你已經是root使用者,那麼就足夠了。這跟sql的標準有所不同。
create trigger trigger_nametrigger_time
trigger_event
on tbl_name觸發程式與命名為tbl_namefor each row
trigger_stmt
的表相關。
trigger_time
是觸發程式的動作時間。它可以是before或after,以指明觸發程式是在啟用它的語句之前或之後觸發。
trigger_event
指明了啟用觸發程式的語句的型別。trigger_event可以是下述值之一:
· insert:將新行插入表時啟用觸發程式
· update:更改某一行時啟用觸發程式
· delete:從表中刪除某一行時啟用觸發程式
trigger_stmtmysql觸發器是mysql資料庫的重要概念,下面為您介紹三個mysql觸發器的例子,供您參考,希望對您學習mysql觸發器方面能有所幫助。是當觸發程式啟用時執行的語句。如果你打算執行多個語句,可使用begin
... end復合語句結構。
示例一delimiter
//create
trigger
insertuser
before
insert
onuser
foreach row
begin
insert
into user_group(uid,gid) values(new.uid,'
group4444444444
');
end;//
delimiter ;
示例二
delimiter
//create
trigger
insertuser
before
insert
onuser
foreach row
begin
if new.type=
2then
insert
into user_group(uid,gid) values(new.uid,'
group4444444444
');
else
insert
into user_group(uid,gid) values(new.uid,'
group55555555555
')
endif
;
end;//
delimiter ;
示例三:
delimiter
//create
trigger
insertuser
before
insert
onuser
foreach row
begin
if new.type=
1then
insert
into user_group(uid,gid) values(new.uid,'
578d3369633b47bd9c1fe8bf905cbfb1
');
endif
;
if new.type=
2then
insert
into user_group(uid,gid) values(new.uid,'
387bcd57fc5a4c3c9de83ee210fef661
');
endif
;
end;//
delimiter ;
oracle序列及觸發器案例
oracle在建立表時和其他的資料庫有點不一樣,如sql server可以在int型別的字段後加上identity 1,1 該字段就會從1開始,按照 1的方式自增,將這個字段設定為主鍵,有利於我們進行資料的插入操作。mysql中可以使用 auto increment 即可。但是oracle有點麻煩,...
三個資料庫的觸發器
當使用者a,b存放資料到tablec的時候,會將使用者a插入的資料的主鍵值和使用者名稱一起存放到tabled去 即tablec id pk name,pass a使用者插入 23,a1 a2 b使用者插入 20,b1 b2 觸發器的作用是將 23,a 插入到表tabled去 mysql delimi...
針對乙個SQL SERVER 表的三個觸發器
第乙個 create trigger 更新資料 on dbo table1 for update asif datefirst 5 return set datefirst 5 update table1 set table1.順序 table1.順序 1 from table1,inserted,...