当前位置:   article > 正文

MySQL修改分隔符

MySQL修改分隔符

1、修改分隔符符号

delimiter $$

可以修改成$$ //都行

2、创建触发器 函数名称

create trigger 函数名

3、什么样的操作触发,操作那个表

after:之后触发

before:之前触发

insert:插入被触发

update:修改被触发

delete:删除被触发

on 表名

实例:在users表中被添加信息后触发

after insert on users

4、for each row 声明每次触发都被执行

5、开始触发器代码

begin

6、触发器触发后执行代码块

7、结束触发器 end;

8、修改分隔符

$$

delimiter;

  1. -- 一般sql的分隔符是;
  2. delimiter $$ -- 将分隔符改为其他符号
  3. CREATE TRIGGER insert_user_wallet
  4. after INSERT on `user`
  5. for each row -- 每行操作都要出发触发器
  6. begin -- 开启触发器
  7. -- 所有的业务逻辑代码都需要写在中间
  8. insert into user_wallet (user_id,balance)VALUES(new.user_id,'0.00');
  9. end ;
  10. $$-- 真正的结束符号
  11. delimiter ;-- 完活后改回来;
  1. delimiter $$
  2. delimiter TRIGGER user_delete_info
  3. BEFORE delete on `user`
  4. for each row
  5. begin
  6. -- 代码区
  7. DELETE from user_wallet where user_id=old.user_id;
  8. DELETE from user_wallet_log where user_id=old.user_id;
  9. end;
  10. $$
  11. delimiter;
  1. delimiter $$
  2. create TRIGGER product_update_price
  3. before update on product
  4. for each row
  5. begin
  6. declare result decimal (10,4);
  7. -- 基础判断
  8. if new.price=0 then
  9. signal sqlstate '45000' set message_text='不能将价格修改为0元';
  10. end if;
  11. set result=(new.price-old.price)/old.price*100;
  12. if abs(result)>10 then
  13. signal sqlstate '45000' set message_text='单次修改的价格波动不能高于10%';
  14. end if;
  15. end;
  16. $$
  17. delimiter;

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号