パッケージ・デザイナ

パッケージ・デザイナを使用すると、PL/SQLパッケージを作成できます。このセクションの内容は次のとおりです。

Oracle Developer Toolsでのパッケージの作成

パッケージ・デザイナは、新規PL/SQLパッケージ仕様を作成する際、およびオプションで空のパッケージ本体を作成する際に使用します。既存のパッケージを編集する場合は、サーバー・エクスプローラで、パッケージを表す「Package」ノードを右クリックし、「Edit Package Specification」をクリックします。その後、PL/SQLコード・エディタでパッケージ・コードを編集します。

「Package」ノードをダブルクリックすると、PL/SQLコード・エディタが開きます。パッケージにパッケージ本体がある場合は、PL/SQLコード・エディタにパッケージ本体コードが表示されます。それ以外の場合、パッケージ仕様コードはPL/SQLコード・エディタで編集できます。

ファンクションとストアド・プロシージャをパッケージの一部として作成するには、「Generate empty package body」チェック・ボックスを有効にしてパッケージを作成する必要があります。パッケージ本体を編集するには、「Package」ノードを右クリックし、メニューから「Edit Package Body」を選択します。PL/SQLコード・エディタにコードが表示され、必要に応じて変更できます。

パッケージ・デザイナの起動

サーバー・エクスプローラで「Package」ノードを右クリックし、メニューから「New Package」を選択します。

パッケージ・デザイナは次のように表示されます:

パッケージ・デザイナの使用

パッケージ・デザイナには、次のコントロールがあります:

コントロール 説明

Schema name

使用可能なスキーマのリストから、パッケージの作成先のスキーマを選択します。

Package name

パッケージの名前を入力します。

Authentication identifier

次の選択肢から選択します:

  • CURRENT_USER: パッケージを現在のユーザーの権限で実行するように指定します。

  • DEFINER: パッケージが存在するスキーマの所有者権限でパッケージを実行し、パッケージが存在するスキーマで外部名を解決するように指定します。これがデフォルトの設定です。

Generate empty package body

パッケージ仕様にパッケージ本体を含める場合は、このチェック・ボックスを選択して空のパッケージ本体を作成します。ストアド・プロシージャまたはファンクションを含むパッケージを作成する場合は、このチェック・ボックスを必ず選択する必要があります。

パッケージ・デザイナを使用すると、空のパッケージ本体を生成できます。このパッケージ本体には、パッケージ仕様に定義されたメソッドが含まれています。パッケージ本体のコードをカスタマイズするには、パッケージを作成した後、PL/SQLコード・エディタでコードを変更します。サーバー・エクスプローラでパッケージ・ノードを右クリックし、メニューから「Edit Package Body」を選択して行います。

Methods

このパッケージ内の既存のメソッドを表示します。

新規メソッドを作成するには、「Add」ボタンをクリックして、「Add Method」ダイアログ・ボックスを表示します。メソッド仕様がパッケージ仕様に追加されます。「Generate empty package body」を選択している場合、Oracle Developer Toolsにより、パッケージ本体にもメソッド仕様が追加されます。

メソッド・リストの順序を変更するには、移動するメソッドを選択して矢印または矢印をクリックします。メソッドを削除するには、メソッドを選択し、「Remove」をクリックします。

Preview SQL

CREATE PACKAGEおよびCREATE PACKAGE BODY SQL文を読取り専用のポップアップ・ダイアログ・ボックスに表示します。

OK

作業内容を保存し、パッケージ(パッケージ本体を追加した場合はそれも含む)をデータベースに作成し、PL/SQLコード・エディタにパッケージ・コードを表示して、カスタマイズできるようにします。新規パッケージをコミットするには、Visual Studio .NETツールバーで「保存」ボタンをクリックするか、「ファイル」メニューから「保存」を選択します。

パッケージの作成時にエラーが発生すると、Oracle Developer Toolsによりエラー・ダイアログ・ボックスが表示され、出力ウィンドウにエラー・メッセージが表示されます。「OK」をクリックして、デザイナ内のエラーを修正します。その後、デザイナの「OK」ボタンをクリックして変更内容を保存する際に、「Yes」をクリックすると、誤りのあるパッケージが正しいバージョンに置き換えられます。

パッケージを正常に作成すると、Oracle Developer Toolsによってそのノードがサーバー・エクスプローラに表示されます。

「Add Method」ダイアログ・ボックス

「Add Method」ダイアログ・ボックスは次のように表示されます:

「Add Method」ダイアログ・ボックスには、次のコントロールがあります:

コントロール 説明

Method name

このパッケージに追加するメソッドの名前を指定します。

Method type

次の選択肢から選択します:

  • Function

  • Procedure

Return type

データ型のリストの選択肢から選択します。

Use pipelining to return rows

表ファンクションの結果を繰り返し戻します。

Parameters

このメソッドのパラメータを表示します。

新規パラメータを作成するには、「Add」をクリックし、「Parameter Details」ペインを使用して、パラメータを必要に応じて変更します。パラメータの作成時、そのPL/SQLコードが「SQL Preview」ボックスに表示されます。

パラメータの順序を変更するには、移動するパラメータを選択して上向き矢印または下向き矢印をクリックします。パラメータを削除するには、パラメータを選択して「Remove」をクリックします。

Parameter details

次の情報を表示します:

  • Name: パラメータの名前を入力します。

  • Direction: 次の項目から選択します:

    • IN: メソッドのコール時に引数の値を指定する必要があることを示します。「IN」パラメータには、デフォルト値を設定できます。

    • OUT: メソッドが、実行後にコール元の環境に対して、この引数の値を渡すことを示します。

    • IN-OUT: メソッドのコール時に引数の値を指定する必要があり、実行後にコール元の環境に値が渡されることを示します。

  • Data type: リストから選択します。データ型がリスト表示されない場合、ここに入力できます。

  • Default: パラメータが渡されない場合に使用するデフォルト値を指定します。

  • No copy: この引数をできるだけ早く渡すようデータベースに指示します。この句を使用すると、「OUT」または「IN」 「OUT」パラメータにレコード、索引付きの表、VARRAYなど、大きな値を渡す場合に、パフォーマンスを大幅に向上できます。「IN」パラメータ値は、常に「No copy」オプションを使用して渡します。

  • REF: パラメータのデータ型オブジェクトを参照型にします。

OK

メソッドを作成し、「New Package」ダイアログ・ボックスに戻ります。

関連項目

「Packages」ノード | Oracle問合せウィンドウ