Mit EGL können Sie in Ihrem EGL-Programm expliziten SQL-Code verwenden.
In EGL ist eine relativ fortgeschrittene Datenbankbearbeitung möglich, ohne dazu irgendwelchen SQL-Code schreiben zu müssen. Erfahrene SQL-Programmierer möchten aber vielleicht über das Maß an Kontrolle verfügen, das ihnen das Schreiben von SQL-Code bietet. EGL kommt diesem Wunsch mit der Direktive #sql nach.
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 };
Dieser Code kann zur Optimierung der Anweisung SELECT geändert werden. Weitere Informationen finden Sie in Implizite SQL-Anweisungen anzeigen. Die Direktive #sql kann ferner zum Aufrufen einer gespeicherten Prozedur verwendet werden (siehe Gespeicherte Prozedur aufrufen).
Im obigen Beispiel können Sie sehen, dass der Variablen myCustomer.customerNumber ein Doppelpunkt vorangestellt ist. Dadurch wird EGL angewiesen, innerhalb des EGL-Programms und nicht in der SQL-Tabelle nach dem Variablennamen zu suchen. Variablen dieser Art werden als Hostvariablen bezeichnet, weil die Programmiersprache EGL als Host für SQL fungiert; SQL kann nicht als unabhängige Sprache ausgeführt werden.