欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Mysql存儲(chǔ)過(guò)程循環(huán)內(nèi)嵌套使用游標(biāo)示例代碼

 更新時(shí)間:2014年08月01日 09:38:49   投稿:whsnow  
本節(jié)主要介紹了Mysql存儲(chǔ)過(guò)程循環(huán)內(nèi)如何嵌套使用游標(biāo),詳細(xì)實(shí)現(xiàn)如下,需要的朋友不要錯(cuò)過(guò)
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;
 
 /** 聲明游標(biāo),并將查詢結(jié)果存到游標(biāo)中 **/
 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;
 /** 獲取查詢數(shù)量 **/
 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;
 -- 開(kāi)始事務(wù)
 START TRANSACTION;
 -- 打開(kāi)游標(biāo)
 OPEN c_borrow;
 -- 循環(huán)游標(biāo)
  WHILE s1 < v_count+1 DO
  -- 遍歷游標(biāo)
  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
   -- 嵌套使用游標(biāo)
   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; -- 事務(wù)提交 
END

相關(guān)文章

  • MySQL大小寫(xiě)敏感的注意事項(xiàng)

    MySQL大小寫(xiě)敏感的注意事項(xiàng)

    MySQL 在 Windows 下不區(qū)分大小寫(xiě),但在 Linux 下默認(rèn)是區(qū)分大小寫(xiě)。如果你稍加不注意就會(huì)出現(xiàn)在本機(jī)開(kāi)發(fā)的程序運(yùn)行一切正常,發(fā)布到服務(wù)器行就出現(xiàn)表名找不到的問(wèn)題,一頭霧水。
    2021-05-05
  • mysql報(bào)錯(cuò)sql_mode=only_full_group_by解決

    mysql報(bào)錯(cuò)sql_mode=only_full_group_by解決

    這篇文章主要為大家介紹了mysql報(bào)錯(cuò)sql_mode=only_full_group_by解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-08-08
  • Mysql5升級(jí)到Mysql5.5的方法

    Mysql5升級(jí)到Mysql5.5的方法

    這篇文章主要介紹了Mysql5升級(jí)到Mysql5.5的方法的相關(guān)資料,需要的朋友可以參考下
    2016-01-01
  • MySQL分區(qū)表分區(qū)策略詳解

    MySQL分區(qū)表分區(qū)策略詳解

    這篇文章主要介紹了MySQL分區(qū)表分區(qū)策略詳解,分區(qū)是一種表的設(shè)計(jì)模式,通俗地講表分區(qū)是將一大表,根據(jù)條件分割成若干個(gè)小表。但是對(duì)于應(yīng)用程序來(lái)講,分區(qū)的表和沒(méi)有分區(qū)的表是一樣的,需要的朋友可以參考下
    2023-07-07
  • linux采用binary方式安裝mysql

    linux采用binary方式安裝mysql

    這篇文章主要為大家詳細(xì)介紹了linux采用binary方式安裝mysql步驟,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • MySQL無(wú)法存儲(chǔ)Emoji表情問(wèn)題的解決方法分析

    MySQL無(wú)法存儲(chǔ)Emoji表情問(wèn)題的解決方法分析

    這篇文章主要介紹了MySQL無(wú)法存儲(chǔ)Emoji表情問(wèn)題的解決方法,結(jié)合實(shí)例形式分析了存儲(chǔ)Emoji表情報(bào)錯(cuò)的原因及相應(yīng)的解決方法,需要的朋友可以參考下
    2018-07-07
  • cmd進(jìn)入mysql以及常用的mysql操作教程

    cmd進(jìn)入mysql以及常用的mysql操作教程

    對(duì)于從來(lái)自事計(jì)算機(jī)專業(yè)工作的人而言,MySQL并不陌生,下面這篇文章主要給大家介紹了關(guān)于cmd進(jìn)入mysql以及常用的mysql操作的相關(guān)資料,需要的朋友可以參考下
    2023-11-11
  • MySQL數(shù)據(jù)庫(kù)忽略大小寫(xiě)的配置方法

    MySQL數(shù)據(jù)庫(kù)忽略大小寫(xiě)的配置方法

    這篇文章主要給大家介紹了MySQL數(shù)據(jù)庫(kù)忽略大小寫(xiě)的配置方法,文中通過(guò)代碼示例給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • MySQL大小寫(xiě)敏感導(dǎo)致的問(wèn)題分析

    MySQL大小寫(xiě)敏感導(dǎo)致的問(wèn)題分析

    在本篇內(nèi)容里小編給大家整理了關(guān)于MySQL大小寫(xiě)敏感導(dǎo)致的問(wèn)題的詳細(xì)分析,有興趣的朋友們可以學(xué)習(xí)參考下。
    2019-06-06
  • MySQL查看event執(zhí)行記錄的實(shí)現(xiàn)

    MySQL查看event執(zhí)行記錄的實(shí)現(xiàn)

    在使用EVENT的過(guò)程中,我們可能會(huì)需要查看EVENT的執(zhí)行記錄,以便了解它們是否按預(yù)期執(zhí)行,本文就來(lái)介紹一下MySQL查看event執(zhí)行記錄的實(shí)現(xiàn),感興趣的可以了解一下
    2023-11-11

最新評(píng)論