SQL ステートメントの操作

EGL を使用すると、EGL プログラムで明示的 SQL コードを扱うことができます。

EGL では、SQL のコーディングを行わずに、洗練されたデータベース操作をある程度行うことができます。ただし、熟練した SQL プログラマーであれば、SQL でコーディングした場合と同じレベルの制御を行いたい場合もあります。EGL は、#sql ディレクティブを介して、このようなプログラマーの要望を満たします。

#sql ディレクティブ

EGL キーワード #sql は、次の例のように、明示的な SQL コードのセクションを、中括弧で区切って導入します。
get myCustomer with #sql{
  select C_NUMBER, C_NAME, C_ADDR1, C_ADDR2, C_ADDR3, C_BALANCE
  from ADMINISTRATOR.CUSTOMER L1
  where C_NUMBER = :myCustomer.customerNumber };

このコードを変更して、SELECT ステートメントを微調整できます。詳しくは、暗黙の SQL ステートメントの表示を参照してください。#sql ディレクティブを使用してストアード・プロシージャーを呼び出すこともできます (ストアード・プロシージャーの呼び出しを参照してください)。

ホスト変数

前述の例では、変数 myCustomer.customerNumber の前にコロンが付けられています。これは、EGL に対し、SQL 表ではなく EGL プログラムからその変数名を探すように指示するものです。 EGL は SQL をホスティングするプログラム言語であるため、このような変数は、ホスト変数 と呼ばれます。 SQL を独立の言語として実行することはできません。


フィードバック