3.7 PL/SQLプロシージャの作成

指定した評価を受けているすべての本を表示するプロシージャを作成します。入力パラメータ(1から10の範囲の数字)を指定してこのプロシージャをコールすると、指定した評価を受けているすべての本のタイトルが出力されます。

プロシージャを作成するには:

  1. 次のプロシージャ・テキストを入力します。

    CREATE OR REPLACE
    PROCEDURE list_a_rating(in_rating IN NUMBER) AS
      matching_title VARCHAR2(50);
      TYPE my_cursor IS REF CURSOR;
      the_cursor my_cursor;
    BEGIN
      OPEN the_cursor
        FOR 'SELECT title 
               FROM books 
              WHERE rating = :in_rating'
        USING in_rating;
      DBMS_OUTPUT.PUT_LINE('All books with a rating of ' || in_rating || ':');
      LOOP
        FETCH the_cursor INTO matching_title;
        EXIT WHEN the_cursor%NOTFOUND;
        DBMS_OUTPUT.PUT_LINE(matching_title);
      END LOOP;
      CLOSE the_cursor;
    END list_a_rating;
  2. 「スクリプトの実行」をクリックします。

    「スクリプト出力」タブに次の通知が表示されます。

    Procedure LIST_A_RATING compiled
  3. このプロシージャを実行するには、「接続」ナビゲータのLIST_A_RATINGを右クリックし、「実行」を選択します。パラメータとそのプロパティが表示されます。

  4. 「PL/SQLの表示」をクリックします。

  5. IN_RATING => IN_RATINGをIN_RATING => 10に変更し、「文の実行」をクリックします。

    PL/SQLプロシージャ

    結果が「スクリプト出力」ペインに表示されます。

    All books with a rating of 10:                                                  
    Moby Dick                                                                       
    Software Wizardry