Mit SQL-Anweisungen arbeiten

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.

Direktive #sql

Das EGL-Schlüsselwort #sql stellt einen Abschnitt mit explizitem SQL-Code bereit, der in geschweifte Klammern gesetzt ist (siehe folgendes Beispiel):
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).

Hostvariablen

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.


Feedback