SYS_INIT プロシージャーによるモジュールの初期化
モジュールの初期化とは、モジュール・オブジェクトとそれに関連するデフォルト値のセットアップのことです。これは、定義済みのモジュール初期化プロシージャーを実行すると行えます。 モジュール初期化プロシージャーは、予約済みの SYS_INIT というモジュールで定義された SQL プロシージャーです。 通常、初期化プロシージャーによって実行されるアクションとしては、変数の初期化、カーソルのオープン、および一時表の作成があります。
SYS_INIT というプロシージャーをモジュールに定義すると、このプロシージャーはモジュール内に定義された、パブリッシュ済みモジュール・ルーチンまたはパブリッシュ済みグローバル変数のいずれかを最初に参照する際に暗黙的に呼び出されます。 また、モジュール・オブジェクトの内外から CALL ステートメントを実行して明示的に呼び出すこともできます。
SYS_INIT プロシージャーの目的は、以下の事柄に対するサポートを提供することです。
- モジュール内に定義されている変数の初期化。
- モジュール内に定義されているカーソル変数に関連付けられたカーソルの初期化およびオープン。
- グローバル一時表の作成。
- 初期化ロジックを含む、その他のプロシージャーの呼び出し。
SYS_INIT プロシージャー定義は、ALTER MODULE ステートメントを使用してモジュールに追加できます。その場合の方法は、他のプロシージャーをモジュールに追加する場合と同じです。
SYS_INIT プロシージャー定義には、サポート対象のすべての SQL PL および SQL ステートメントを含めることができます。
SYS_INIT プロシージャー定義にパラメーターを含めることはできません。
SYS_INIT プロシージャー定義は、結果セットを戻せません。