Verwenden Sie die Direktive 'sql', um impliziten SQL-Code anzupassen oder um vollständig neuen Code zu schreiben.
Weitere Informationen zu implizitem SQL-Code im Vergleich zu eingebettetem SQL-Code finden Sie unter SQL-Datenzugriff.
get myCustomer with #sql{
SELECT customer_name
FROM Customer
WHERE customer_number = :myCustomer.customerNumber };
Ein vorangestellter Doppelpunkt gibt eine Hostvariable an (eine Variable, die in der Hostsprache für SQL, in diesem Fall EGL, definiert ist), beispielsweise :myCustomer.customerNumber.
Sie können impliziten SQL-Code in eingebetteten Code konvertieren und diesen dann ändern. Weitere Informationen hierzu finden Sie im Handbuch für EGL-Programmierer.
get myCustomer usingKeys myCustomer.customerName with #sql{
SELECT customer_name
FROM Customer
WHERE customer_number = :myOrders.customerNumber };
Das erste Schlüsselfeld ist das im Datensatzprototyp 'CustomerRecord' angegebene Feld
(myCustomer.customerNumber). Die Klausel 'usingKeys' überschreibt diesen Standardschlüssel mit
myCustomer.customerName in dem von EGL generierten impliziten SQL-Code, wenn nicht auch eingebetteter Code vorliegt. Dieser eingebettete Code
überschreibt den impliziten Code und verwendet myOrders.CustomerNumber als den tatsächlichen Schlüssel zum Lesen von Daten aus der Datenbank.