PL / SQL Cursor不显示结果

时间:2013-03-14 03:36:40

标签: database oracle plsql cursor

我是PL / SQL编程的新手。我有一个名为course的表。当我这样做时:

select * from course where branchid = 'B1';

它返回如下结果:

enter image description here

这是我尝试针对此表运行的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

我犯了错误?

提前致谢。

2 个答案:

答案 0 :(得分:1)

set serveroutput on size unlimited

开始使用。如果需要,还要检查包装选项。
http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve040.htm#SQPUG099

答案 1 :(得分:0)

你可以试试看,让我知道结果:)

declare 

cursor course_cur (v_branchId in varchar2) is
select * from course where branchid = v_branchId;

v_cursor course_cur%ROWTYPE;

BEGIN

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;

END;

感谢