0

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、branchidB1にはいくつかcourseidの 's がありますが、 's はまったく出力されません。

どこで間違いを犯していますか?

前もって感謝します。

4

2 に答える 2

1
set serveroutput on size unlimited

始めるために。必要に応じて、ラッピングオプションも確認してください。
http://docs.oracle.com/cd/E11882_01/server.112/e16604/ch_twelve040.htm#SQPUG099

于 2013-03-14T05:23:06.257 に答える
0

これを試して、結果を教えてください:)

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;

終わり;

ありがとう

于 2013-03-14T14:35:07.357 に答える