MYSQL存储过程 踩坑

存储过程该怎么写

  • 这周主要就在使用存储过程来修复线上数据
  • 使用工具
    • Navicat 创建存储过程
    • mysql

开始踩坑

  • 一开始不知道存储过程有专门的操作界面

  • 创建临时表

  • insert into tmp1(…) select * …

  • 一定使用别名而非表名

  • 对应的字段一 一对上

  • 有更新和插入的地方 开启mysql 事务

    • start transaction;
    • commit;
  • 插入临时表前先 truncate table tmp1;

CREATE   PROCEDURE `p1`()
BEGIN
		start transaction;
	
		#1创建临时表1
		drop table if exists tmp1;
		create temporary table tmp1(
				p1_order_id int(11),
				p1_prepackage_product_id int(11),
				p1_pl_id int(11), 
				p1_task_id int(11),
				p1_validity int(11));
insert into tmp1 select ....
commit;
END;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值