-- 大表數據遷移,每天凌晨1點到5點執行,執行間隔時間10分鐘,遷移舊數據到歷史表。DELIMITER $$
USE `dbx`$$
電腦技術網對《FalseMySQL存儲過程-->通過游標遍歷和異常處理遷移數據到歷史表》總結來說,為我們程序員很實用。
DROP PROCEDURE IF EXISTS `pro_xx`$$
CREATE PROCEDURE `pro_xx`()
BEGIN
DECLARE p_oalid INT DEFAULT 0;
DECLARE STOP INT DEFAULT 0;
DECLARE cur_oalid CURSOR FOR
SELECToal.id FROM oal_xxx oal WHERE oal.`ymd`
DECLARE EXIT HANDLER FOR SQLSTATE '02000' /**包含游標not found*/
BEGIN
SET STOP=1;
INSERTINTO db_logs(log_type,table_name,action_name,log_msg,create_time)
SELECT1, 'oal_xxx','pro_oal_log_move',CONCAT('primary key:',p_oalid,' 游標執行正常結束!'),NOW();
END;
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
SETSTOP=1;
INSERTINTO db_logs(log_type,table_name,action_name,log_msg,create_time)
SELECT2, 'oal_xxx','pro_oal_log_move',CONCAT('primary key:',p_oalid,' 移動執行失敗'),NOW();
END;
OPEN cur_oalid;
-- 讀取一行數據到變量
FETCH cur_oalid INTO p_oalid;
-- 這個就是判斷是否游標已經到達了最后
WHILE STOP <> 1 DO
-- select p_id;
START TRANSACTION;
-- 進行數據遷移
REPLACE INTO oal_xxx_history SELECT oal.*FROM oal_xxx oal WHERE oal.id=p_oalid ;
DELETE FROM oal_xxx WHERE id=p_oalid;
-- INSERT INTO t (tid) VALUES (p_tid);
COMMIT;
-- 讀取下一行的數據
FETCH cur_oalid INTO p_oalid;
END WHILE;
CLOSE cur_oalid; -- 關閉游標
END$$
DELIMITER ;
更多:FalseMySQL存儲過程-->通過游標遍歷和異常處理遷移數據到歷史表
https://www.002pc.comhttps://www.002pc.com/mysql/2156.html
你可能感興趣的游標,gt,MySQL,遍歷,存儲,遷移
js勻速動畫Jquery遍歷Json數據的方法
本文實例講述了Jquery遍歷Json數據的方法。分享給大家供大家參考。具體如下:第二電腦網認為此文章對《Jquery遍歷Json數據的方法》說的很在理。
php ECShop formPHP面向對象程序設計之對象的遍歷操作示例
本文實例講述了PHP面向對象程序設計之對象的遍歷操作。分享給大家供大家參考,具體如下:
對象的遍歷和數組的遍歷一樣,對象的遍歷指的是實例屬性的遍歷。
下面遍歷出來的屬性,是
php >=7.0PHP+Mysql日期時間如何轉換(UNIX時間戳和格式化日期)
寫過PHP+MySQL的程序員都知道有時間差,UNIX時間戳和格式化日期是我們常打交道的兩個時間表示形式,Unix時間戳存儲、處理方便,但是不直觀,格式化日期直觀,但是處理起來不如Unix時
python boundubuntu python2.7安裝mysql-python
《python boundubuntu python2.7安裝mysql-python》總結了關于python培訓教程,對于我們來第二電腦網確實能學到不少知識。
js中觸發php文件PHP遍歷數組元素
1.什么是遍歷所謂遍歷(Traversal)英['tr?v??s?l],是指沿著某條搜索路線,依次對樹中每個結點均做一次且僅做一次訪問。訪問結點所做的操作依賴于具體的應用問題。 遍歷在二
python 堆棧內存Python遍歷numpy數組的實例
在用python進行圖像處理時,有時需要遍歷numpy數組,下面是遍歷數組的方法:
[rows, cols] = num.shape for i in range(rows - 1): for j
linux 查看某個端口連接數mysql主從不同步的2種解決方法
今天發現Mysql的主從數據庫沒有同步先上Master庫:mysql>show processlist; ? 查看下進程是否Sleep太多。發現很正常。
python調用大寫函數python中字典的循環遍歷的兩種方式
開發中經常會用到對于字典、列表等數據的循環遍歷,但是python中對于字典的遍歷對于很多初學者來講非常陌生,今天就來講一下python中字典的循環遍歷的兩種方式。注意: python2和
php md5 解密函數PHP以及MYSQL日期比較方法
MYSQL日期比較 TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30; 我們的date_col必須是日期時間格式,而不能是時間戳, mysql> SELECT
ASP.NET中GridView、DataList、DataGrid三個數據控件foreach遍歷用法示例
本文實例講述了ASP.NET中GridView、DataList、DataGrid三個數據控件foreach遍歷用法。
0踩
賞
0 贊