ファンクション・デザイナ

ファンクション・デザイナを使用すると、新規ファンクションを作成できます。このセクションの内容は次のとおりです。

Oracle Developer Toolsでのファンクションの作成

ファンクション・デザイナは、新規スタンドアロン・ファンクションのテンプレート・コードを作成する際に使用します。ファンクション・テンプレートを作成すると、PL/SQLコード・エディタが開き、ファンクション・コードが表示されます。必要に応じて、ファンクションをカスタマイズできます。

既存のファンクションを編集する場合は、サーバー・エクスプローラでファンクションを表すノードをダブルクリックするか、ノードを右クリックして「Edit」をクリックします。その後、PL/SQLコード・エディタでファンクション・コードを編集します。

ファンクションを作成してそのファンクションをパッケージに追加する場合、パッケージ・デザイナを使用してファンクションを作成することを検討してください。

ファンクションが完了した後、そのファンクションをコンパイルおよび実行するには、サーバー・エクスプローラでそのファンクション・ノードを右クリックし、表示されるメニューから選択します。ファンクションを削除するには、そのノードを右クリックし、メニューから「Delete」を選択します。

ノート: SQLJ、CまたはJavaのコール仕様や、プラグマ句を作成する場合は、PL/SQLコード・エディタを使用します。

ファンクション・デザイナの起動

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

ファンクション・デザイナは次のように表示されます:

ファンクション・デザイナの使用

通常、ファンクション・デザイナは、ファンクションのテンプレートを作成する際に使用します。テンプレートには、ファンクションのベース定義のパラメータが含まれていますが、テンプレートのBEGINおよびEND文内に追加する文などの複雑なコードは含まれません。このテンプレートは、作成後にPL/SQLコード・エディタでカスタマイズできます。

ファンクション・デザイナには、次のコントロールがあります:

コントロール 説明

Schema name

使用可能なスキーマのリストから、ファンクションの作成先のスキーマを選択します。

Function name

ファンクションの名前を入力します。

Return type

データ型のリストの選択肢から選択します。データ型がリスト表示されない場合、「Return type」ボックスにデータ型を入力できます。

Authentication identifier

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

  • CURRENT_USER: ファンクションを現在のユーザーの権限で実行するよう指定します。

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

Use pipelining to return rows

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

Parameters

このファンクションで使用されるパラメータとそのデータ型をリストします。

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

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

Parameters detail

選択したパラメータの詳細情報を表示します:

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

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

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

    • OUT: ファンクションが、実行後にコール元の環境に対して、この引数の値を渡すことを示します。

    • IN-OUT: ファンクションのコール時に引数の値を指定する必要があり、実行後にコール元の環境に値が戻されることを示します。

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

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

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

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

Preview SQL

ポップアップ・ダイアログ・ボックスおよび出力ウィンドウにCREATE FUNCTION SQLコマンド・コードを表示します。読取り専用です。

OK

作業内容を保存し、テンプレート・コードを使用してファンクションをデータベースに作成し、PL/SQLコード・エディタにファンクション・テンプレート・コードを表示して、カスタマイズできるようにします。新規ファンクション・テンプレートへの変更をコミットするには、Visual Studio .NETツールバーで「保存」ボタンをクリックするか、「ファイル」メニューから「保存」を選択します。

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

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

関連項目

「Functions」ノード | 実行ダイアログ・ボックス | Oracle問合せウィンドウ