「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 |
パッケージ定義を 「Packages」ノードに関連付けられているオブジェクトをデータベース・バックエンドから削除すると、このメニュー・オプションによって次のように処理されます: このオブジェクトがOracle Databaseに存在しなくなり、スクリプトが生成されないことを示すメッセージを表示します。 |
|
Generate Create Script to Project |
パッケージの定義を. サーバー・エクスプローラで複数のオブジェクトを選択すると、マスター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」ウィンドウを開きます。 |