「Packages」ノード

このセクションの内容は次のとおりです。

パッケージについて

パッケージとは、1つのプログラム・ユニットとしてデータベース内でグループ化された、関連するプロシージャ、ファンクションおよびその他のオブジェクト・タイプをカプセル化した集合です。このため、パッケージを使用すると、各タスクをプロシージャまたはファンクションで表し、関連した一連のタスクを実行できます。

PL/SQLパッケージは次の2つの部分から構成されています:

  • パッケージ仕様: アプリケーションのインタフェース。使用できるプロシージャ、ファンクション、型、変数、定数、例外、カーソルおよびサブプログラムなどを宣言します。これらはアプリケーションに表示できるパブリック宣言です。パッケージ仕様はパッケージ・ヘッダーとも呼ばれます。

  • パッケージ本体: アプリケーションに表示されない実装の詳細およびプライベート宣言を定義します。仕様部を変更せずに、パッケージ本体をデバッグ、拡張または置換できます。また、本体の実装の詳細はアプリケーションから表示されないため、コール元プログラムを再コンパイルせずに、パッケージ本体を変更できます。ただし、パッケージ定義によっては本体が不要な場合もあります。パッケージを本体と仕様に分けることのもう1つのメリットは、独自のコードをセキュアな状態に維持できることです。

Oracle Databaseで提供されるパッケージを含むPL/SQLパッケージの仕組みの詳細は、『PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス』を参照してください。

「Packages」ノードの仕組み

「Packages」ノードには、このスキーマに関連付けられた子の「Package」ノードが1つ以上含まれています。これらのそれぞれの子「Package」ノード内には、プロシージャとファンクションを表すノードがあります。

「Packages」ノードに対してアクションを実行するには、ノードを右クリックして、メニューから適切なコマンドを選択します。ノードのプロパティを表示するには、ノードを選択するか、ノードのメニューの「Properties」をクリックします(あるいはその両方)。

このコレクション・ノードがフィルタされると、ファンネル記号が含まれるようにアイコンが変わります。フィルタの詳細は、「コレクション・ノードのフィルタ」を参照してください。

メニュー・オプション

メニュー・オプション 説明

New Package

パッケージ・デザイナを使用して新規パッケージを作成します。

Query Window

SQLおよびPL/SQL問合せをVisual Studioから実行できるように問合せウィンドウを開きます。

Generate Create Script

パッケージ定義を.sqlファイルに書き込みます。

「Packages」ノードに関連付けられているオブジェクトをデータベース・バックエンドから削除すると、このメニュー・オプションによって次のように処理されます:

このオブジェクトがOracle Databaseに存在しなくなり、スクリプトが生成されないことを示すメッセージを表示します。

Generate Create Script to Project

パッケージの定義を.sqlファイルに生成し、開いているOracleデータベース・プロジェクトに.sqlファイルを追加します。

サーバー・エクスプローラで複数のオブジェクトを選択すると、マスターSQLスクリプトがOracleデータベース・プロジェクトのスクリプト・フォルダに作成されます。このマスター・スクリプトには、様々なスキーマ・オブジェクト・フォルダに生成された個別の子SQLスクリプト(スキーマ・オブジェクトごとに1つ)へのコールが含まれており、このマスター・スクリプトは依存関係を考慮して順序付けされます。

開いているOracleデータベース・プロジェクトが複数ある場合、Visual Studioにより、スクリプトを追加するプロジェクトを選択するよう求められます。

この操作は、サーバー・エクスプローラ・ノードをデータベース・プロジェクト・フォルダに直接ドラッグ・アンド・ドロップして実行することもできます。

詳細は、「Oracleスクリプト・ファイルの管理」を参照してください。

ノート: Oracleデータベース・プロジェクト・バージョン2のプロジェクトはサポートされていません。このプロジェクト・タイプにスクリプトを追加するには、Oracleデータベース・プロジェクト・バージョン2のプロジェクト・フォルダの「Import Schema」または「Add Existing Item」メニュー項目を使用するか、スキーマ比較ツールを使用します。

Filters

「Filters」タブを開き、コレクションの下に表示される子ノードを制御します。

Privileges

「Grant/Revoke Privileges」ダイアログ・ボックスを開きます。

Refresh

関連付けられた子ノードを含む「Package」ノード・ツリーを更新します。

Properties

「Properties」ウィンドウを開きます。