組み込み SQL ステートメントの構文がプリコンパイル時に完全に認識されている場合、そのステートメントは静的 SQL と呼ばれます。静的 SQL は、実行時まで構文が認識されない動的 SQL ステートメントとは対照的です。
注: | 静的 SQL は、REXX などのインタープリター言語ではサポートされません。 |
ステートメントが静的とみなされるためには、 SQL ステートメントの構造を完全に指定しなければなりません。たとえば、ステートメントで参照される列または表の名前は、プリコンパイル時に完全に認識されている必要があります。実行時に指定できる唯一の情報は、ステートメントが参照するホスト変数の値だけです。ただし、データ・タイプなどのホスト変数情報は、プリコンパイルしなければなりません。
静的 SQL ステートメントを準備する際に、ステートメントの実行可能形式が作成され、データベースのパッケージに保管されます。実行可能形式はプリコンパイル時か、後のバインド時に構成することができます。どちらの場合も、実行時より前に 準備が行われます。アプリケーションのバインドを行うユーザーの権限が使用されて、データベース統計および構成パラメーター (アプリケーション実行時に最新ではない場合がある) に基づいて最適化が行われます。