暗黙の SQL コードをカスタマイズする場合または完全に新規のコードを作成する場合に、sql ディレクティブを使用します。
暗黙の SQL コードと組み込み SQL コードの比較について詳しくは、SQL データ・アクセスを参照してください。
get myCustomer with #sql{
SELECT customer_name
FROM Customer
WHERE customer_number = :myCustomer.customerNumber };
先頭のコロン文字は、ホスト変数 (SQL をホストする言語 (この場合は EGL) で定義した変数) を示しています (例えば、:myCustomer.customerNumber など)。
暗黙の SQL コードを組み込みコードに変換し、その後、変更することができます。詳しくは、「EGL プログラマー・ガイド」を参照してください。
get myCustomer usingKeys myCustomer.customerName with #sql{
SELECT customer_name
FROM Customer
WHERE customer_number = :myOrders.customerNumber };
最初のキー・フィールドはレコードのプロトタイプ CustomerRecord に指定されています (myCustomer.customerNumber)。
usingKeys 文節は、組み込みコードも存在していない場合に、EGL が生成する暗黙の SQL コードの myCustomer.customerName でこのデフォルト・キーをオーバーライドします。その組み込みコードにより暗黙のコードがオーバーライドされ、データベースから読み取る実際のキーとして myOrders.CustomerNumber が使用されます。