暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

游标用法

超人网页作坊 2021-06-03
437
游标
ORACLE

游标用法




游标四步骤

1.cursor声明游标

2.open打开游标

3.FETCH...into...从游标中取值

4.close关闭游标




声明一个变量,从游标中取值

declare

--声明一个跟表名.字段名数据类型相同的变量,

起名叫names_cursor

names_cursor mbp_bomviewnode_partextend.cname%type;

--声明一个游标,游标中存储的是查询到的内容

cursor j_cursor1 is select cname from mbp_bomviewnode_partextend;

begin

  --打开游标

  open j_cursor1;

  --从游标中拿一个数据到变量中

  FETCH j_cursor1 into names_cursor;

 dbms_output.put_line('第一次名字是'||names_cursor);

  --在while循环之前必须要先进行FETCH操作,否则%found会返回false

  while j_cursor1%found loop

dbms_output.put_line('名字是'||names_cursor);

 fetch j_cursor1 into names_cursor;

    end loop;

    dbms_output.put_line('循环结束!');

   --记得关闭游标

    close j_cursor1;

    end;




输出效果





声明一个记录类型类型从游标中取值

declare

--声明一个记录类型,名字叫j_record

type j_record is record(

j_names varchar2(256),

j_csymbol varchar2(4000)

);

--声明一个记录类型的变量

j_records j_record;

--声明一个游标,游标中存储的是查询到的内容

cursor j_cursor2 is select cname,csymbol from mbp_bomviewnode_partextend;

begin

  --打开游标

  open j_cursor2;

  --从游标中拿一个数据到变量中

  FETCH j_cursor2 into j_records;


dbms_output.put_line('第一次名字是'||j_records.j_names|| '号码 '||j_records.j_csymbol );

  --在while循环之前必须要先进行FETCH操作,否则%found会返回false


 while j_cursor2%found loop

dbms_output.put_line('名字是'||j_records.j_names|| '号码 '||j_records.j_csymbol);

    fetch j_cursor2 into j_records;

    end loop;

    dbms_output.put_line('循环结束!');

   --记得关闭游标

    close j_cursor2;

    end;










输出效果:





游标FOR循环

用游标进行for循环可以省略后三步,即打开,fetch,关闭游标

declare

cursor yb1 is select cname,csymbol from mbp_bomviewnode_partextend;

begin

for yb in yb1 loop

 dbms_output.put_line('输出 '|| yb.csymbol);

  end loop;

  end;






输出效果


文章转载自超人网页作坊,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论