delimiter |
create trigger test_trig [before,after] [insert,update,delete] on test
for each row
begin
insert into test2 values( "nice to use trigger" );
update test set cm1=( select name from test3 where id=NEW.t3id );
//NEW
//OLD
/** -- msyql的逻辑语法
if NEW.sm < 0 then
set NEW.sm=0;
statements 1;
elseif new.sm < 10
statements 2;
end if;
*/
/**//一些mysql的系统函数也可以在这里使用,如:
now()....
*/
end;|
delimiter |
说明: delimiter的作用是更改一条语句的结束符号,模式的是分号,在写function或者trigger时,可以随表设置新的delimiter。但设置之后 一定要更改为原来的delimiter ;
example:
DELIMITER $$
CREATETRIGGER`count_insert` AFTERINSERTon`tablename`
FOREACHROWBEGIN
updatecountsetnums= nums+1;
END$$
DELIMITER;
DELIMITER $$
CREATETRIGGER`count_delete` AFTERDELETEon`tablename`
FOREACHROWBEGIN
updatecountsetnums=nums-1;
END$$
DELIMITER;