3.8 パッケージの管理

パッケージは、論理的に関連するPL/SQLタイプ、アイテム、ファンクションおよびプロシージャをグループ化するデータベース・オブジェクトです。オブジェクト・ブラウザを使用して、パッケージを表示、作成、編集、ダウンロードおよび削除します。

通常、パッケージは仕様と本体の2つの部分で構成されます。仕様はアプリケーションへのインタフェースです。本体は仕様を実装します。

関連項目:

PL/SQLパッケージの詳細は、『Oracle Database PL/SQL言語リファレンス』PL/SQLパッケージに関する項およびPL/SQLサブプログラムに関する項を参照してください。

3.8.1 パッケージの作成

オブジェクト・ブラウザを使用してパッケージを作成します。

パッケージを作成するには:

  1. オブジェクト・ブラウザで、「データベース・オブジェクトの作成」メニューをクリックし、「パッケージ」を選択します。

    ヒント:

    オブジェクト・ツリーから新しいオブジェクトを作成するには、オブジェクトを右クリックして「作成」オプションを選択します。

    パッケージの作成ウィザードが表示されます。

  2. パッケージの作成で次のように指定します:
    1. 名前 - 作成されるパッケージの名前を入力します。名前は、Oracleのネーミング規則に従う必要があり、空白を含めたり、数字またはアンダースコアで開始することはできません。
    2. サンプル・コードを取り込む: パッケージの作成時にサンプル・コードを含めるかどうかを指定します。このオプションを有効または無効にします。
  3. 「パッケージの作成」をクリックします。

3.8.2 パッケージの表示

オブジェクト・ツリーからパッケージを選択し、「オブジェクトの詳細」ビューでタブにアクセスします。

パッケージを表示するには:

  1. オブジェクト・ブラウザのオブジェクト・ツリーで、「パッケージ」を展開し、パッケージを選択します。
  2. 「オブジェクトの詳細」ビューが表示され、5つのタブが表示されます:

    ヒント:

    「仕様部」および「ボディ」タブには、完全に機能するコード・エディタがあります。コード・エディタについてさらに学習するには、「オブジェクト・ブラウザのコード・エディタ」を参照してください。
    • 仕様部 - パッケージ仕様部を表示します。パッケージ仕様部は、アプリケーションへのインタフェースを定義し、パッケージの外部で参照できる要素を宣言します。このビューのコードは、完全に機能するコード・エディタを使用して編集できます。使用可能なアクションは次のとおりです:
      • ダウンロード
      • 保存してコンパイル
      • 削除
      • リフレッシュ
    • ボディ - パッケージ・ボディを表示します。パッケージ・ボディは、パッケージ名を使用して参照されるファンクション、プロシージャ、変数、カーソル、ユーザー定義型およびレコードの名前付きコレクションです。このビューのコードは、完全に機能するコード・エディタを使用して編集できます。使用可能なアクションは次のとおりです:
      • ダウンロード
      • 保存してコンパイル
      • 削除
      • リフレッシュ
    • 依存性 - 現在のパッケージを使用する(またはこれに依存する)オブジェクトと、現在のパッケージが依存するオブジェクトを表示します。使用可能なアクションには、「リフレッシュ」が含まれています。
    • エラー - 現在のパッケージに関連するエラーをリストします。使用可能なアクションには、「リフレッシュ」が含まれています。
    • 権限付与 - 権限、権限受領者、付与可能者、権限付与者、オブジェクト名など、カレント・パッケージの権限付与の詳細を表示します。使用可能なアクションは次のとおりです:
      • 権限付与
      • 取消し
      • リフレッシュ

3.8.3 パッケージの手動編集

オブジェクト・ツリーからパッケージを選択し、「オブジェクトの詳細」ビューでコードを編集します。

パッケージを編集する際には、コードの手動編集、検索および置換の実行、パッケージのコンパイルが可能です。

パッケージを手動で編集するには:
  1. オブジェクト・ブラウザのオブジェクト・ツリーで、「パッケージ」を展開し、パッケージを選択します。

    「オブジェクトの詳細」ビューが表示されます。

    「仕様部」タブでは、アプリケーションへのインタフェースを定義します。「ボディ」タブには、選択したパッケージのパッケージ・ボディ(存在する場合)が表示されます。

  2. 適切なタブ(「仕様部」または「ボディ」)を選択し、コード・エディタを使用してソース・コードを直接編集します。

    ヒント:

    コード・エディタについてさらに学習するには、「オブジェクト・ブラウザのコード・エディタ」を参照してください。

    ビューを編集および変更する場合は、変更内容を保存するためにコンパイルする必要があります。

  3. 「保存してコンパイル」をクリックして現在のパッケージをコンパイルします。

    コンパイルによりデータベースのオブジェクトが再作成されます。コンパイルが失敗すると、コードの上にエラー・メッセージが表示されます。

3.8.4 パッケージのコンパイル

オブジェクト・ツリーからパッケージを選択し、「保存してコンパイル」をクリックします。

パッケージを編集および変更する場合は、変更内容を保存するためにコンパイルする必要があります。

「保存してコンパイル」アクションは、「オブジェクトの詳細」ビューの「仕様部」タブと「ボディ」タブの両方で使用できます。

パッケージをコンパイルするには:

  1. オブジェクト・ブラウザのオブジェクト・ツリーで、「パッケージ」を展開し、パッケージを選択します。

    「オブジェクトの詳細」ビューが表示されます。

  2. 適切なタブ(「仕様部」タブまたは「ボディ」)をクリックし、「保存してコンパイル」をクリックします。

    コンパイルによりデータベースのオブジェクトが再作成されます。コンパイルが失敗すると、コードの上にエラー・メッセージが表示されます。

3.8.5 パッケージのダウンロード

オブジェクト・ツリーからパッケージを選択し、「ダウンロード」をクリックしてファイルとして保存します。

「仕様部」および「ボディ」の両方のタブには、完全に機能するコード・エディタがあります。表示されたソース・コードをいずれかのタブでダウンロードするには、「ダウンロード」をクリックします。

パッケージをダウンロードするには:

  1. オブジェクト・ブラウザのオブジェクト・ツリーで、「パッケージ」を展開し、パッケージを選択します。

    「オブジェクトの詳細」ビューが表示されます。

  2. 現在のパッケージをファイルとして保存するには:
    1. 適切なタブ(「仕様部」または「ボディ」)を選択します。
    2. 「ダウンロード」をクリックします。

3.8.6 仕様を表示中のパッケージの削除

オブジェクト・ツリーからパッケージを選択し、「仕様部」タブの「削除」をクリックします。

パッケージ仕様部は、アプリケーションへのインタフェースを定義し、パッケージの外部で参照できる要素を宣言します。

パッケージ仕様部を削除するには:

  1. オブジェクト・ブラウザのオブジェクト・ツリーで、「パッケージ」を展開し、パッケージを選択します。

    「オブジェクトの詳細」ビューが表示されます。

  2. 「仕様部」タブで、「削除」をクリックします。
    1. 削除 - 詳細を確認します。
    2. SQL - パッケージを削除するために生成されたSQLを表示します。表示されたSQLをコピーするには、「コピー」アイコンをクリックします。
    3. 選択を確定するには、「削除」を再度クリックします。

3.8.7 「ボディ」の表示中のパッケージの削除

オブジェクト・ツリーからパッケージを選択し、「ボディ」タブの「削除」をクリックします。

パッケージ・ボディは、パッケージ名を使用して参照されるファンクション、プロシージャ、変数、カーソル、ユーザー定義型およびレコードの名前付きコレクションです。

「ボディ」の表示中にパッケージを削除するには:

  1. オブジェクト・ブラウザのオブジェクト・ツリーで、「パッケージ」を展開し、パッケージを選択します。

    「オブジェクトの詳細」ビューが表示されます。

  2. 「ボディ」タブで、「削除」をクリックします。

    「削除」ダイアログで次のようにします:

    1. 削除 - 詳細を確認します。
    2. SQL - パッケージ・ボディを削除するために生成されたSQLを表示します。表示されたSQLをコピーするには、「コピー」アイコンをクリックします。
    3. 選択内容を確認して、「削除」を再度クリックします。