インストール・スクリプトについて

インストール・スクリプトには、アプリケーションの作成に必要なすべてのSQL文または他のマスター・スクリプトを設定できます。

スクリプトは、名前が.sqlで終わるファイル(たとえば、create_app.sql)の一連のSQL文ですSQL*PlusまたはSQL Developerなどのクライアント・プログラムのスクリプトを実行すると、SQL文がスクリプトの表示順に実行されます。SQL文がアプリケーションを作成するスクリプトは、インストール・スクリプトと呼ばれます。

アプリケーションをデプロイするには、デプロイメント環境で1つ以上のインストール・スクリプトを実行します。新しいアプリケーションでは、インストール・スクリプトを作成する必要があります。古いアプリケーションでは、インストール・スクリプトが存在する可能性がありますが、存在しない場合は作成できます。

DDL文とスキーマ・オブジェクトの依存性について

インストール・スクリプトには、スキーマ・オブジェクトを作成するDDL文およびオプションでDDL文が作成する表にデータをロードするINSERT文が含まれます。インストール・スクリプトを正確に作成し、正しい順序で複数のインストール・スクリプトを実行するには、アプリケーションのスキーマ・オブジェクト間の依存性を理解する必要があります。

オブジェクトAがオブジェクトBを参照する場合、AがBに依存する関係になります。つまり、BはAよりも先に作成される必要があります。そうでないと、Bを作成する文が失敗するか、または作成されても無効な状態になります(オブジェクト・タイプによる)。

複雑なアプリケーションの場合、オブジェクトを作成する順序ははっきりしていません。データベースの設計者に問い合せるか設計のダイアグラムを参照してください。

関連情報:

INSERT文と制約について

INSERT文を含むインストール・スクリプトを実行する場合、ソース表(開発環境)のデータをデプロイメント環境の既存の新規表に挿入するときに違反となる可能性のある制約があるか確認する必要があります。

アプリケーションの各ソース表に対して、ソース表のデータを新規表に挿入したとき、制約を違反するかどうかを判断する必要があります。違反がある場合、まず制約を無効にしてからデータを挿入し、制約を再度有効にします。データ項目に制約違反がある場合、そのデータ項目を修正するまで、制約を再度有効にすることはできません。

「データのロード」に示すように、参照データを単純に挿入する場合は、制約違反は起こりません。このため最初に制約を無効にする必要はありません。

外部ソース(ファイル、スプレッドシートまたは古いアプリケーションなど)からデータを挿入する場合、または依存データが多くある多数の表からデータを挿入する場合は、データを挿入する前に制約を無効にします。

制約は、次の方法で無効化および再有効化できます。