MYSQL儲存過程 踩坑
阿新 • • 發佈:2018-11-19
儲存過程該怎麼寫
- 這周主要就在使用儲存過程來修復線上資料
- 使用工具
- 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;