一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - Mysql存儲過程循環內嵌套使用游標示例代碼

Mysql存儲過程循環內嵌套使用游標示例代碼

2020-04-15 14:09whsnow Mysql

本節主要介紹了Mysql存儲過程循環內如何嵌套使用游標,詳細實現如下,需要的朋友不要錯過

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
BEGIN
 -- 聲明變量
 DECLARE v_addtime_begin varchar(13);
 DECLARE v_addtime_end varchar(13);
 
 DECLARE v_borrow_id int;
 DECLARE v_count int;
 DECLARE s1 int;
 
 /** 聲明游標,并將查詢結果存到游標中 **/
 DECLARE c_borrow CURSOR FOR
 SELECT ID from rocky_borrow WHERE BORROWTYPE = 2 AND PUBLISH_TIME >= UNIX_TIMESTAMP('2014-05-27') AND PUBLISH_TIME <= UNIX_TIMESTAMP('2014-07-30') ORDER by ID ASC;
 /** 獲取查詢數量 **/
 SELECT count(ID) INTO v_count from rocky_borrow WHERE BORROWTYPE = 2 AND PUBLISH_TIME >= UNIX_TIMESTAMP('2014-05-27') AND PUBLISH_TIME <= UNIX_TIMESTAMP('2014-07-30') ORDER by ID ASC;
 
 SET s1 = 1;
 -- 開始事務
 START TRANSACTION;
 -- 打開游標
 OPEN c_borrow;
 -- 循環游標
  WHILE s1 < v_count+1 DO
  -- 遍歷游標
  FETCH c_borrow INTO v_borrow_id;
  SELECT t1.addtime INTO v_addtime_begin FROM (SELECT * FROM rocky_b_tenderrecord bt WHERE BORROW_ID = v_borrow_id AND tender_type = 1 ORDER BY ID ASC) t1 GROUP BY t1.borrow_id;
  SELECT t1.addtime INTO v_addtime_end FROM (SELECT * FROM rocky_b_tenderrecord bt WHERE BORROW_ID = v_borrow_id AND tender_type = 1 ORDER BY ID DESC) t1 GROUP BY t1.borrow_id;
  IF (v_addtime_begin IS NOT NULL) && (v_addtime_end IS NOT NULL) THEN
   -- 嵌套使用游標
   BEGIN
    DECLARE v_id int;
    DECLARE v_user_id int;
    DECLARE v_type varchar(20);
    DECLARE v_total decimal(20,8) DEFAULT 0;
    DECLARE v_money decimal(20,8) DEFAULT 0;
    DECLARE v_use_money decimal(20,8) DEFAULT 0;
    DECLARE v_no_use_money decimal(20,8) DEFAULT 0;
    DECLARE v_collection decimal(20,8) DEFAULT 0;
    DECLARE v_to_user int(11);
    DECLARE v_remark VARCHAR(1000);
    DECLARE v_addtime varchar(13);
    DECLARE v_addip varchar(64);
    DECLARE v_first_borrow_use_money decimal(20,8) DEFAULT 0;
    DECLARE done VARCHAR(45) DEFAULT '';
    DECLARE t_error int DEFAULT 0;
  
    DECLARE c_accountlog CURSOR FOR
    SELECT ID,USER_ID,TYPE,TOTAL,MONEY,USE_MONEY,NO_USE_MONEY,COLLECTION,TO_USER,REMARK,ADDTIME,ADDIP,FIRST_BORROW_USE_MONEY FROM (
    SELECT ID,USER_ID,TYPE,TOTAL,MONEY,USE_MONEY,NO_USE_MONEY,COLLECTION,TO_USER,REMARK,ADDTIME,ADDIP,FIRST_BORROW_USE_MONEY FROM rocky_accountlog
    WHERE ADDTIME >= v_addtime_begin AND ADDTIME <= v_addtime_end AND (type = 'tender_cold' or type= 'repayment_deduct')
    ) t GROUP BY t.user_id HAVING count(t.user_id) > 1;
    
    DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = NULL;
    OPEN c_accountlog;
    FETCH c_accountlog INTO v_id,v_user_id,v_type,v_total,v_money,v_use_money,v_no_use_money,v_collection,v_to_user,v_remark,v_addtime,v_addip,v_first_borrow_use_money;
    WHILE (done IS NOT NULL) DO
     INSERT INTO rocky_accountlog_test2 (ACCOUNTLOG_ID,USER_ID,TYPE,TOTAL,MONEY,USE_MONEY,NO_USE_MONEY,COLLECTION,TO_USER,REMARK,ADDTIME,ADDIP,FIRST_BORROW_USE_MONEY,BORROW_ID)
     VALUES (v_id,v_user_id,v_type,v_total,v_money,v_use_money,v_no_use_money,v_collection,v_to_user,v_remark,v_addtime,v_addip,v_first_borrow_use_money,v_borrow_id);
     FETCH c_accountlog INTO v_id,v_user_id,v_type,v_total,v_money,v_use_money,v_no_use_money,v_collection,v_to_user,v_remark,v_addtime,v_addip,v_first_borrow_use_money;
    END WHILE;
    CLOSE c_accountlog;
   END;
  END IF;
  SET s1 = s1 + 1;
 END WHILE;
 CLOSE c_borrow;
 
 COMMIT; -- 事務提交
END

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 免费视频| 香蕉免费看一区二区三区 | 果冻传媒九一制片厂网站 | 国产成人精品免费视频大全五级 | 农村老妇1乱69系列小说 | 小舞丝袜调教喷水沦为肉奴 | 欧美日韩国产一区二区三区在线观看 | 欧美bbb人妖 | 精品日产1区2卡三卡麻豆 | 亚洲国产天堂久久精品网 | heyzo1754北岛玲在线视频 | 饭冈加奈子在线播放观看 | 国产成人精品s8sp视频 | 手机看片1024国产 | 7777色鬼xxxx欧美色夫 | 天堂俺去俺来也www久久婷婷 | 四虎在线视频免费观看视频 | 国色天香社区在线视频免费观看 | 国语精彩对白2021 | 五月香婷 | 国产精选之刘婷野战 | 国产精品最新资源网 | 日本高清视频在线的 | 国产色视频网站 | 美女用手扒自己下部 | 日本网 | 我被黄总征服的全过程 | 黑人疯狂巨大xxoo | 亚洲欧美日韩在线观看看另类 | 韩国三级hd中文字幕李采潭 | 黑人粗长大战亚洲女 | 日本成熟bbxxxxxxxx | 校园全肉高h湿一女多男 | 久久视频这只精品99re6 | 男生操女生的漫画 | 亚洲人成影院午夜网站 | 性欧美13处丶14处 | 特黄未满14周岁毛片 | 日本大乳护士的引诱图片 | 动漫人物差差差动漫人物免费观看 | 免费一级毛片在线播放 |