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

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

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

 

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 美女脱了内裤打开腿让人羞羞软件 | 亚洲AV 日韩 国产 有码 | 天天狠天天透天干天天怕处 | 国产精品99爱免费视频 | 高清毛片一区二区三区 | 狠狠色狠狠色综合曰曰 | 欧美艳星kagneyiynn | 不卡一区二区三区 | 万域之王动漫在线观看全集免费播放 | 欧美草逼视频 | 青青精品 | 91精品免费国产高清在线 | 色综合久久中文字幕网 | 男人日女人p | 特黄特色一级aa毛片免费观看 | 亚洲国产无线码在线观看 | 果冻传媒九一制片厂网站 | 四虎e234hcom | 色橹橹| 99久久99久久免费精品蜜桃 | 亚洲电影成人 成人影院 | 色99视频 | 欧美精品一区视频 | 免费一级特黄特色大片在线 | 日本伦理动漫在线观看 | 午夜AV国产欧美亚洲高清在线 | 蜜桃视频一区二区三区四区 | 香蕉91| 男人猛进猛出女人下面视频 | 叛佛 作者满栀小说免费阅读 | 视频在线观看入口一二三2021 | 国产免费一区不卡在线 | 亚洲国产综合精品 | 午夜影院网页 | 国内精品久久久久影院嫩草 | 国产精品自在线 | 爽好大快深点一视频 | 四虎永久视频 | 草莓污污| 国产精品51麻豆cm传媒 | 国产亚洲精品美女 |