科技行者

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

知识库

知识库 安全导航

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

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

  • 扫一扫
    分享文章到微信

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

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

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

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

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

动态SQL 的 select into隐式游标 + Bulk Collect











代码:

declare
l_tname_array dbms_sql.varchar2_table;
l_table_name varchar2(100);
l_sql varchar2(200);
begin
l_table_name := 'TAB' ;
l_sql := 'select tname from '||l_table_name ;
execute immediate l_sql 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;
end;
/
..
..

C. for .. in 隐式游标

for .. in 隐式游标通过loop的开始于结束来控制cursor的Open与Close.

代码:

begin
for c in (select tname from tab) loop
dbms_output.put_line(c.tname);
end loop;
end;
/
..
..

2.三种用法的优劣

A. 显式游标

优点:

·可以用于Bulk Collect的批量处理句式以提高性能

·可以用于动态SQL的游标处理

缺点:

·麻烦,需要定义,打开,Fetch,Close一堆代码,增加代码复杂度,从而增加出错的可能性

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

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

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