PL/SQL 游标不显示结果
Posted
技术标签:
【中文标题】PL/SQL 游标不显示结果【英文标题】:PL/SQL Cursor is not displaying the results 【发布时间】:2013-03-14 03:36:40 【问题描述】:我对 PL/SQL 编程非常陌生。我有一张名为course
的表。当我这样做时:
select * from course where branchid = 'B1';
返回结果如下:
这是我尝试针对该表运行的 PL/SQL 程序:
declare
v_branchId course.branchid%TYPE := 'B1';
cursor course_cur is
select * from course where branchid = v_branchId;
v_cursor course_cur%ROWTYPE;
BEGIN
open course_cur;
LOOP
FETCH course_cur into v_cursor;
exit when course_cur%NOTFOUND;
dbms_output.put_line('The course id is ' || v_cursor.courseid );
END LOOP;
END;
/
程序已成功执行,但它根本不打印courseid
,即使对于branchid B1
,我有几个courseid
。
我哪里出错了?
提前致谢。
【问题讨论】:
在执行 PL/SQL 块之前你有没有给SET SERVEROUT ON
命令
【参考方案1】:
set serveroutput on size unlimited
开始。如果需要,还要检查包装选项。 http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve040.htm#SQPUG099
【讨论】:
【参考方案2】:你能试试这个,让我知道结果吗:)
declare
cursor course_cur (v_branchId in varchar2) is
select * from course where branchid = v_branchId;
v_cursor course_cur%ROWTYPE;
开始
open course_cur ('B1');
LOOP
FETCH course_cur into v_cursor;
exit when course_cur%NOTFOUND;
dbms_output.put_line('The course id is ' || v_cursor.courseid );
END LOOP;
结束;
谢谢
【讨论】:
以上是关于PL/SQL 游标不显示结果的主要内容,如果未能解决你的问题,请参考以下文章