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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

db2 c语言游标名称可以是变量,mysql c语言 游标能取多行吗

發(fā)布時(shí)間:2023/11/30 数据库 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 db2 c语言游标名称可以是变量,mysql c语言 游标能取多行吗 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

滿意答案

xuyingcxm

2015.02.03

采納率:45%????等級(jí):12

已幫助:7182人

1、 無(wú)返回結(jié)果語(yǔ)句,如:INSERT,UPDATE,DROP, DELETE等

2、 select語(yǔ)句返回單行變量并可傳給本地變量(select ..into)

3、 返回多行結(jié)果集的select語(yǔ)句,并可使用MySQL游標(biāo)循環(huán)處理

注意,存儲(chǔ)過(guò)程返回的多行結(jié)果集,可以被客戶端程序(如php)所接收,但要在一個(gè)存儲(chǔ)過(guò)程中接收另一個(gè)存儲(chǔ)過(guò)程的結(jié)果集是不可能的,一般解決辦法是存入臨時(shí)表供其它過(guò)程共用

4、 prepare語(yǔ)句

以下主要講述游標(biāo)及prepare部分

游標(biāo)

定義

DECLARE cursor_name CURSOR FOR SELECT_statement;

游標(biāo)操作

OPEN 打開(kāi)游標(biāo)

OPEN cursor_name;

FETCH 獲取游標(biāo)當(dāng)前指針的記錄,并傳給指定變量列表,注意變量數(shù)必須與MySQL游標(biāo)返回的字段數(shù)一致,要獲得多行數(shù)據(jù),使用循環(huán)語(yǔ)句去執(zhí)行FETCH

FETCH cursor_name INTO variable list;

CLOSE關(guān)閉游標(biāo)

CLOSE cursor_name ;

注意:MySQL的游標(biāo)是向前只讀的,也就是說(shuō),你只能順序地從開(kāi)始往后讀取結(jié)果集,不能從后往前,也不能直接跳到中間的記錄.

一個(gè)完整的例子:

定義本地變量

DECLARE o varchar(128);

定義游標(biāo)

DECLARE ordernumbers CURSOR

FOR

SELECT callee_name FROM account_tbl where acct_timeduration=10800;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_departments=1;

SET no_more_departments=0;

打開(kāi)游標(biāo)

OPEN ordernumbers;

循環(huán)所有的行

REPEAT

-- Get order number

FETCH ordernumbers INTO o;

update account set allMoneyallMoney=allMoney+72,lastMonthConsumelastMonthConsume=lastMonthConsume-72 where NumTg=@o;

循環(huán)結(jié)束

UNTIL no_more_departments

END REPEAT;

關(guān)閉游標(biāo)

CLOSE ordernumbers;

DELIMITER $$

USE `kubauser`$$

DROP PROCEDURE IF EXISTS `cursortest`$$

CREATE DEFINER=`coo8new`@`%` PROCEDURE `cursortest`(OUT a VARCHAR(50),OUT b VARCHAR(50))

BEGIN

DECLARE _outuserid VARCHAR(50);

DECLARE _kubauserid VARCHAR(50);

DECLARE flag INT;

DECLARE update_cursor CURSOR

FOR

SELECT outuserid,kubauserid FROM ecuser_cooperationuser;

DECLARE CONTINUE HANDLER FOR NOT FOUND SET flag=1;

SET flag=0;

OPEN update_cursor;

REPEAT /*循環(huán)*/

FETCH update_cursor INTO _outuserid,_kubauserid;

SET a=_outuserid;

SET b=_kubauserid;

/*update set where*/

UNTIL flag

END REPEAT;

CLOSE update_cursor ;

END$$

DELIMITER ;

轉(zhuǎn)載,僅供參考。

00分享舉報(bào)

總結(jié)

以上是生活随笔為你收集整理的db2 c语言游标名称可以是变量,mysql c语言 游标能取多行吗的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。