日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql动态sql循环语句_mysql存储过程循环遍历sql结果集,并执行动态sql

發布時間:2025/3/19 数据库 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql动态sql循环语句_mysql存储过程循环遍历sql结果集,并执行动态sql 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

/*

將其他幾張表數據復制到一張總表中

*/

DROP PROCEDURE IF EXISTS sp_customer;

CREATE PROCEDURE sp_customer()

BEGIN

-- 需要執行的SQL語句

DECLARE v_sql_1 VARCHAR(500);

DECLARE v_sql_2 VARCHAR(500);

DECLARE v_sql_3 VARCHAR(500);

-- 定義變量

DECLARE companyId INT;

DECLARE maxId1 INT;

DECLARE maxId2 INT;

-- 定義游標遍歷時,作為判斷是否遍歷完全部記錄的標記

DECLARE num INT DEFAULT 0;

-- 定義游標,并將sql結果集賦值到游標中

DECLARE company_list CURSOR FOR SELECT company_id,max_id FROM customer_job WHERE id>1;

-- 聲明當游標遍歷完全部記錄后將標志變量置成某個值

DECLARE CONTINUE HANDLER FOR NOT FOUND SET num=1;

-- DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET num = 1;

-- 打開游標

OPEN company_list;

-- 將游標中的值賦值給變量,要注意sql結果列的順序

FETCH company_list INTO companyId,maxId1;

-- while循環

WHILE num <> 1 DO

-- 動態拼接sql并賦值v_sql_1

SET v_sql_1 = CONCAT('select max(id) into @param1 from customer',companyId);

-- 需要用@轉換下,直接v_sql_1執行不了

SET @sql_1 = v_sql_1;

-- 預處理需要執行的動態SQL,其中stmt是一個變量

PREPARE stmt1 FROM @sql_1;

-- 執行SQL語句

EXECUTE stmt1;

-- 釋放掉預處理段

DEALLOCATE PREPARE stmt1;

-- @param1賦值給maxId2

SET maxId2 = @param1;

-- 動態拼接sql并賦值v_sql_2

SET v_sql_2 = CONCAT('insert into customer(name,sex,age,card_id,phone,email,addr,company,group,tag,stage,phone_state,loan_type,loan_amount,company_id,data_from) ',

' select name,sex,age,card_id,phone,email,addr,company,group,tag,stage,phone_state,loan_type,loan_amount,company_id,data_from from customer',companyId,

' where id>',maxId1,' and id<=',maxId2);

SET @sql_2 = v_sql_2;

-- 預處理需要執行的動態SQL,其中stmt是一個變量

PREPARE stmt2 FROM @sql_2;

-- 執行SQL語句

EXECUTE stmt2;

-- 釋放掉預處理段

DEALLOCATE PREPARE stmt2;

-- 動態拼接sql并賦值v_sql_3

SET v_sql_3 = CONCAT('update customer_job set update_num=update_num,max_id=',maxId2,' where company_id=',companyId);

SET @sql_3 = v_sql_3;

-- 預處理需要執行的動態SQL,其中stmt是一個變量

PREPARE stmt3 FROM @sql_3;

-- 執行SQL語句

EXECUTE stmt3;

-- 釋放掉預處理段

DEALLOCATE PREPARE stmt3;

-- 將游標中的值賦值給變量,要注意sql結果列的順序

FETCH company_list INTO companyId;

END WHILE;

-- 關閉游標

CLOSE company_list;

END;

總結

以上是生活随笔為你收集整理的mysql动态sql循环语句_mysql存储过程循环遍历sql结果集,并执行动态sql的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色黄视频在线观看 | 国产在线观看免费视频今夜 | 麻豆久久久久久 | 黄色污污网站在线观看 | 日本乱偷人妻中文字幕在线 | 国产成人精品999在线观看 | 嫩草影院菊竹影院 | 国产精品久久久久久久免费观看 | 99香蕉视频 | 暗呦丨小u女国产精品 | 草草草在线 | 免费中文字幕在线观看 | 日韩精品视频一区二区在线观看 | 欧美久久久久久久久久久 | 国产小视频你懂的 | 99精品乱码国产在线观看 | 888奇米影视 | 久久午夜神器 | 天天干天天操天天碰 | 第一色影院 | 成人毛片18女人毛片 | 色播av| 秘密基地动漫在线观看免费 | 国产高清一区 | 亚洲综合在线第一页 | 鬼灭之刃柱训练篇在线观看 | 欧美日韩亚洲高清 | 国产色黄 | www日| 久久深夜| 麻豆视频精品 | 国产精品伦一区二区三区免费看 | 香蕉视频在线网站 | www.jizzcom| 中文在线а√天堂官网 | 国产调教 | 亚洲免费专区 | av黄色小说 | 精品网站999 | 在线观看视频你懂得 | 极品美女扒开粉嫩小泬 | 色视频免费在线观看 | 国产自产 | 亚洲成人网在线播放 | 日本一区二区免费在线观看 | 不卡的av电影| 日韩av无码久久 | 黄网站在线观看 | 国产成人午夜视频 | 精品人伦一区二区三区蜜桃网站 | 99re这里只有精品在线 | 日本一区高清 | 看av网| 天天看天天爽 | 国产精品欧美激情 | 国产精品久久久av | 久久99精品国产91久久来源 | 91精品国产aⅴ一区二区 | 国产偷人爽久久久久久老妇app | 亚洲一区欧洲一区 | 91毛片视频 | sm久久捆绑调教精品一区 | 精品国产无码AV | 欧美另类视频 | 日日干夜夜爽 | 无码人妻精品一区二区中文 | 日韩综合第一页 | 91成人久久| 国产中文字幕在线免费观看 | 成人玩具h视频 | 久久一区二区三区四区五区 | 色综合久| 男男车车的车车网站w98免费 | 曰批女人视频在线观看 | 极品av在线 | 色就色综合 | 亚洲精品小视频在线观看 | 国产99精品| 亚洲第九十九页 | 亚洲国产二区 | 亚洲AV无码成人精品国产一区 | 国产成人欧美一区二区三区的 | 污污视频免费网站 | 青青操91 | 精品久久久999 | 操操久久 | 精品一区二区三区四 | 乱子伦视频在线看 | 日本寂寞少妇 | 国产1页 | 激情黄色小说网站 | 日韩午夜激情视频 | 成人免费观看av | 久久免费视频网 | 1024视频在线 | 久久99精品久久久久子伦 | 国久久| 国内精品小视频 | 欧洲一区二区 |