プライマリ・コンテンツに移動
Oracle® Database SQL言語リファレンス
11gリリース2 (11.2)
B56299-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

CREATE PACKAGE BODY

用途

パッケージ本体はPL/SQLを使用して定義されます。このため、この項では一般的な情報について説明します。構文およびセマンティクスの詳細は、『Oracle Database PL/SQL言語リファレンス』を参照してください。

CREATE PACKAGE BODY文を使用すると、ストアド・パッケージの本体を作成できます。パッケージとは、関連するプロシージャ、ストアド・ファンクション、およびデータベース上にまとめて格納されるその他のプログラム・オブジェクトの集合のことです。パッケージ本体では、これらのオブジェクトを定義します。前述のCREATE PACKAGE文で定義するパッケージ仕様部では、これらのオブジェクトを宣言します。

一連のプロシージャやファンクションをスタンドアロンのスキーマ・オブジェクトとして作成するかわりの方法としてパッケージを使用する方法があります。


関連項目:


前提条件

自分のスキーマ内にパッケージを作成または再作成する場合は、CREATE PROCEDUREシステム権限が必要です。他のユーザーのスキーマ内にパッケージを作成または再作成する場合は、CREATE ANY PROCEDUREシステム権限が必要です。どちらの場合も、パッケージ本体はパッケージと同じスキーマ内に作成される必要があります。

Oracle Databaseのプリコンパイラ・プログラム内にCREATE PACKAGE BODY文を埋め込む場合、キーワードEND-EXECに続けて、各言語の埋込みSQL文の終了記号を記述して文を終了する必要があります。


関連項目:

『Oracle Database PL/SQL言語リファレンス』

構文

パッケージ本体はPL/SQLを使用して定義されます。このため、このマニュアルの構文図ではSQLキーワードのみを示します。PL/SQLの構文、セマンティクスおよび例については、『Oracle Database PL/SQL言語リファレンス』を参照してください。

create_package_body::=

create_package_body.gifの説明が続きます。
図「create_package_body.gif」の説明

(plsql_sourceについては、『Oracle Database PL/SQL言語リファレンス』を参照してください。)

セマンティクス

OR REPLACE

OR REPLACEを指定すると、既存のパッケージ本体を再作成できます。この句を指定した場合、パッケージに対して付与されていたオブジェクト権限を削除、再作成および再付与しなくても、既存のパッケージの本体を変更できます。パッケージ本体を変更した場合、その本体は自動的に再コンパイルされます。

再定義したパッケージに対して権限が付与されていたユーザーは、権限が再付与されなくてもそのパッケージにアクセスできます。


関連項目:

パッケージ本体の再コンパイルについては、「ALTER PACKAGE」を参照してください。

plsql_source

plsql_sourceの構文およびセマンティクスについては、『Oracle Database PL/SQL言語リファレンス』を参照してください。