科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道PL/SQL 中如何正确选择游标类型(1)

PL/SQL 中如何正确选择游标类型(1)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

PL/SQL里的游标可以分为显式和隐式两种,而隐式有分为select into隐式游标和for .. in 隐式游标两种。所以,我们可以认为,有3种游标用法

作者:rollingpig 来源:赛迪网 2007年9月11日

关键字: 游标 SQL Server SQL Server 各版本 数据库

  • 评论
  • 分享微博
  • 分享邮件
 

PL/SQL里的游标可以分为显式和隐式两种,而隐式有分为select into隐式游标和for .. in 隐式游标两种。所以,我们可以认为,有3种游标用法:

A. 显式游标

B. select into隐式游标

C. for .. in 隐式游标

如何正确的选择使用哪种游标,将对你的程序的性能,可读性,代码量等产生重大影响……

--By RollingPig,

本文简单的列举了PL/SQL中用到的几种不同类型的游标写法,并简单对比了不同游标写法的优缺点,同时给出了一个选择的基本原则。

本文并不包括太多的实际运行/性能测试,有兴趣的话,大家可以根据示例自己测试。

1.三种游标形式的简单例子

A. 显式游标

普通显式游标,指的是通过定义获得游标,并通过open,fetch,close的等方法来操作游标

代码:

declare
cursor c is select tname from tab ; 
l_tname varchar2(64);
begin 
open c ; 
loop
    fetch c into l_tname ;
    exit when c%notfound ; 
    dbms_output.put_line(l_tname);
end loop;
close c;
end;
/
..
..

Bulk Collect的 显式游标

代码:

declare
cursor c is select tname from tab ;
l_tname_array dbms_sql.varchar2_table;
begin
open c ;
fetch c bulk collect into l_tname_array ;
for i in 1 .. l_tname_array.count loop
    dbms_output.put_line(l_tname_array(i) );
end loop;
close c;
end;
/
..
..
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章