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;

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

  • 7
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值