2013-03-14 149 views
0

我对PL/SQL编程非常陌生。我有一个名为course的表格。当我这样做:PL/SQL光标不显示结果

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的所有,即使分支B1我有几个courseid的。

我在哪里犯错?

在此先感谢。

+3

您在执行PL/SQL块之前是否给了'SET SERVEROUT ON'命令 – Aspirant 2013-03-14 05:06:32

回答

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;

谢谢