ホスト変数により、SQL ステートメントで EGL 変数が使用できるようになります。
SQL 文は、ホスト 言語 (この場合は EGL) と呼ばれる別の言語の外部で使用されることはありません。 SQL は EGL とは異なる言語であるため、EGL プログラムで宣言された変数に自動的にアクセスすることはありません。 SQL をホストする他の言語同様、ホスト変数 を使用すると SQL でこのアクセスを可能にできます。
ホスト変数は、冒頭にコロン文字 (:) を追加することで、ホスト言語に変数と同じ名前を付けます。 冒頭のコロンは、変数が SQL ではなく、ホスト言語 (EGL) で定義されていることを示します。
SELECT customer_balance
INTO :myCustomer.customerBalance
FROM Customer
WHERE customer_number = :myCustomer.customerNumber
名前 customer_balance および customer_number はデータベース表 Customer の列を参照します。 :myCustomer.customerBalance および :myCustomer.customerNumber はホスト変数 (EGL プログラム内で SQL が検索する変数またはフィールド) です。