打印 Oracle Pl/sql 光标

Posted

技术标签:

【中文标题】打印 Oracle Pl/sql 光标【英文标题】:Print Oracle Pl/sql Cursor 【发布时间】:2015-09-28 07:59:09 【问题描述】:

我可以在开始结束块中直接打开和打印光标而不使用循环吗? 或者不读取每一列并为每一行单独打印。

【问题讨论】:

这取决于您使用的 SQL 客户端。 【参考方案1】:

如果您想显示一条记录,则无需在光标中循环。 如果多个,那么您需要在光标中循环。 例如在**Test_Project** 表中有两列:-

projectid           projectname 

p2                  Programming     
p1                 Search Engine    
p3                 Testing

--下面是不使用循环显示一条记录的代码

Declare 

   cprojname varchar2(2000)   ;

   CURSOR c1
   IS
      select project_name from test_project WHERE projectid='p1';

BEGIN

   OPEN c1;
   FETCH c1 INTO cprojname;

   if c1%notfound then
      cprojname := 'no data';
   else
   dbms_output.put_line(cprojname);

   end if;

   CLOSE c1;

END;

o/p:- 搜索引擎

【讨论】:

以上是关于打印 Oracle Pl/sql 光标的主要内容,如果未能解决你的问题,请参考以下文章

Oracle PL/SQL 中的漂亮打印

在 oracle pl/sql 中打印帕斯卡三角形

PL/SQL 打印出存储过程返回的引用游标

Oracle中PL/SQL的例题:-- 输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金)

oracle pl/sql中的循环及if语句

如何在 Oracle PL/SQL 中处理“超过请求的行数”