mysql里怎样循环遍历游标

mysql里怎样循环遍历游标,第1张

传入id,输出name和sex的存储过程,这里同个id有多条数据,所以需要用到游标

DELIMITER // CREATE PROCEDURE p5(IN v_id INT) BEGIN DECLARE nodata INT DEFAULT 0;#注意:这个变量声明必须放在游标声明前面DECLARE v_name VARCHAR(30); DECLARE v_sex CHAR(3); DECLARE c_ns CURSOR FOR SELECT NAME,sex FROM t WHERE id = v_id; DECLARE EXIT HANDLER FOR NOT FOUND SET nodata = 1;#当读到数据的最后一条时,设置变量为1 OPEN c_ns; WHILE nodata = 0 DO#判断是不是到了最后一条数据FETCH c_ns INTO v_name,v_sex; SELECT v_name,v_sex,nodata; END WHILE; CLOSE c_ns; END //

、带参数游标for循环 一 首先编写存储程整体结构,: create or replace procedure test_proc is v_date date; --变量定义 begin select sysdate into v_date from dual; end test_proc; 二 定义游标: create or replace procedure test_proc is v_date date; --定义变量 cursor cur is select from ldcode; --定义游标 begin select sysdate into v_date from dual; end test_proc; 三 编写for循环: create or replace procedure test_proc is v_date date; --定义变量 cursor cur is select from ldcode where rownum<一0; --定义游标 begin select sysdate into v_date from dual; --游标for循环始 for temp in cur loop --temp临变量名,自任意起 Dbms_Outputput_line(tempCode); --输某字段,使用"变量名列名"即 end loop; --游标for循环结束 end test_proc; 四 测试运行点击DBMS Output标签页查看结图: END 二、带参数游标for循环 一 定义带参数游标: cursor cur(v_codetype ldcodeCodetype%TYPE) is select from ldcode where codetype = v_codetype; --定义游标 定义游标格式: cursor 游标名称(变量定义) is 查询语句; 注意: where条件变量名v_codetype要与游标定义cur(v_codetype ldcodeCodetype%TYPE)致 二 编写for循环部: --游标for循环始 for temp in cur('llmedfeetype') loop --temp临变量名,自任意起 --cur('llmedfeetype')"游标名称(传入变量)" Dbms_Outputput_line(tempCode); --输某字段,使用"变量名列名"即 end loop; --游标for循环结束 三 测试运行点击DBMS Outpu

方法和详细的 *** 作步骤如下:

1、第一步,编写存储过程的整体结构,定义变量,见下图,转到下面的步骤。

2、第二步,完成上述步骤后,定义游标,具体的代码见下图,转到下面的步骤。

3、第三步,完成上述步骤后,编写一个for循环,游标for循环开始,然后临时返回变量名,从任意一个开始,使用变量名列名,最后循环的游标结束,见下图,转到下面的步骤。

4、第四步,完成上述步骤后,运行测试,请单击“ DBMS Output”选项卡进行检查,见下图。这样,就解决了这个问题了。

以上就是关于mysql里怎样循环遍历游标全部的内容,包括:mysql里怎样循环遍历游标、关于存储过程里使用游标和循环的问题、存储过程中For循环怎么写啊等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9793591.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-02
下一篇 2023-05-02

发表评论

登录后才能评论

评论列表(0条)

保存