標籤:continue ack mysql str 復原 eal back bsp pmon
1、使用Navicat Premium開啟建立函數嚮導,操作:串連名——資料庫——函數——建立函數
2、選擇過程——輸入預存程序參數——完成(這一步可以不填寫參數,編寫預存程序代碼的時候設定參數)
3、按照要求完成預存程序代碼編寫
1 BEGIN 2 DECLARE t_error INTEGER DEFAULT 0; 3 DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; 4 # 保證資料一致性 開啟事務 5 START TRANSACTION; 6 # 擷取需同步資料的時間節點(3個月前的第一天) 7 # 即當前日期 2018-07-10 @upmonth 日期 2018-04-01 8 SET @upmonth= DATE_ADD(CURDATE() - DAY (CURDATE()) + 1, INTERVAL - 3 MONTH); 9 # 遷移資料語句10 SET @sqlstr=CONCAT(‘INSERT INTO fd_aseet_record_back_3_6 11 SELECT * FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?‘);12 # 刪除資料語句13 SET @delsqlstr=CONCAT(‘DELETE FROM fd_asset_record WHERE type in (3, 6) AND calendar_date < ?‘);14 #執行資料移轉15 PREPARE _fddatamt FROM @sqlstr;16 EXECUTE _fddatamt USING @upmonth;17 DEALLOCATE PREPARE _fddatamt;18 #執行遷移後的資料刪除19 PREPARE _fddatadel FROM @delsqlstr;20 EXECUTE _fddatadel USING @upmonth;21 DEALLOCATE PREPARE _fddatadel;22 IF t_error = 1 THEN 23 ROLLBACK; #語句異常-復原24 ELSE 25 COMMIT; #提交事務26 END IF; 27 END
4、儲存——輸入預存程序名——確定
5、選擇預存程序名——運行函數——查看結果
Navicat Premium建立MySQL預存程序