中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Mysql創建存儲過程,使用游標Cursor循環更新

發布時間:2020-07-23 00:31:44 來源:網絡 閱讀:497 作者:沙漏半杯 欄目:編程語言

使用游標(cursor)


1.聲明游標


DECLARE cursor_name CURSOR FOR select_statement

這個語句聲明一個游標。也可以在子程序中定義多個游標,但是一個塊中的每一個游標必須有唯一的名字。聲明游標后也是單條操作的,但是不能用SELECT語句不能有INTO子句。


2. 游標OPEN語句


OPEN cursor_name

這個語句打開先前聲明的游標。


3. 游標FETCH語句


FETCH cursor_name INTO var_name [, var_name] ...

這個語句用指定的打開游標讀取下一行(如果有下一行的話),并且前進游標指針。


4. 游標CLOSE語句


CLOSE cursor_name

這個語句關閉先前打開的游標。




寫之前查了好多資料但是總是執行不了,后來自琢磨了一下,寫了個例子,經過測試完全正確。


下面是創建存儲過程,使用游標循環更新操作的例子:


?

CREATE PROCEDURE `my`()

BEGIN

? ? /*局部變量的定義 declare*/

? declare aid bigint default 0 ;

? declare mdsl bigint default 0;

? declare stop int default 0;

? declare cur CURSOR FOR (select? count(area_tb.id)? as mdsl, area_tb.id as aid from area_tb right join subbranch_tb on subbranch_tb.i_subbran_area=area_tb.id

where area_tb.i_record_status=0 and subbranch_tb.i_record_status=0 group by area_tb.id);

?

?declare CONTINUE HANDLER FOR SQLSTATE '02000' SET stop = null;

? /*開游標*/

OPEN cur;

/*游標向下走一步,將查詢出來的兩個值付給定義的兩個變量*/

FETCH cur INTO mdsl,aid;

/* 循環體 這很明顯 把游標查詢出的 name 都加起并用 ; 號隔開 */

WHILE ( stop is not null) DO

update area_tb set? i_subbran_count=mdsl where id = aid ;

/*游標向下走一步*/

FETCH cur INTO mdsl,aid;

END WHILE;

CLOSE cur;

END;


最后別忘了:給連接數據庫的用戶授予執行存儲過程的權限


grant execute on procedure yunzuche.myupdate to '用戶名'@'%';

歡迎工作一到五年的Java工程師朋友們加入Java技術交流群:659270626
群內提供免費的Java架構學習資料(里面有高可用、高并發、高性能及分布式、Jvm性能調優、Spring源碼,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx和大數據等多個知識點的架構資料)合理利用自己每一分每一秒的時間來學習提升自己,不要再用"沒有時間“來掩飾自己思想上的懶惰!趁年輕,使勁拼,給未來的自己一個交代!

?


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

如东县| 平原县| 广元市| 高陵县| 乳源| 兴文县| 通城县| 闽清县| 灵寿县| 萨迦县| 崇州市| 本溪市| 镇原县| 漠河县| 太白县| 固阳县| 德兴市| 乌苏市| 东海县| 利津县| 南丹县| 汶川县| 阳城县| 呼玛县| 集贤县| 鹤岗市| 怀来县| 同仁县| 镇坪县| 广元市| 清丰县| 本溪市| 青龙| 德阳市| 河源市| 建瓯市| 焉耆| 晋州市| 高雄市| 泸溪县| 广平县|