Msql中的触发器

解发器
当执行某种操作时解发的行为。
比如, 当表变动时触发的动作。

像商城订单, 当下单时, 库存减少。



语法:
create trigger trigger_name
after/befor insert/update/delete on 表名
for each row(这句话固定的)
begin
sql语句 #一句式多句
end;


单纯触发器执行一条SQL语句, 可以把begin/end去掉, 如果是多条语句的话,可能要设置结束符为别的:
delimiter $
把默认的 ; 结束符改为 $;
注意不要加 ; 号, 如果加了;号, 相当于结束符是 $; 了 解发器的行为: 对insert而言, 新增的行用new表示, 行中的第一个字段, 用 new.字段名 表示 eg:
create trigger tg2 after insert on o begin update g set num=num-new.much where id=new.gid; end$ 对delete而言, 删掉的行行用old表示, 行中的第一个字段, 用 old.字段名 表示 对于update来说, 修改前的数据用old表示, 修改后的行变成用new表示 查看触发器: show triggers;

 

posted on 2017-07-04 03:41  Perl6  阅读(182)  评论(0编辑  收藏  举报

导航