Hostvariablen

Hostvariablen ermöglichen die Verwendung von EGL-Variablen in SQL-Anweisungen.

SQL-Anweisungen kommen niemals außerhalb einer anderen Sprache, die als Hostsprache bezeichnet wird (in diesem Fall EGL), vor. Da sich SQL als Sprache von EGL unterscheidet, hat SQL nicht automatisch Zugriff auf die in Ihrem EGL-Programm deklarierten Variablen. Wie in anderen Hostsprachen für SQL können Sie auch hier Hostvariablen verwenden, um SQL diesen Zugriff zu ermöglichen.

Eine Hostvariable hat denselben Namen wie eine Variable in der Hostsprache, allerdings mit einem vorangestellten Doppelpunkt (:). Der vorangestellte Doppelpunkt gibt an, das die Variable in der Hostsprache (EGL) und nicht SQL definiert ist.

Wenn Sie eine SQL-Datensatzvariable namens 'myCustomer' mit dem Schlüsselfeld 'customerNumber' und dem Datenfeld 'customerBalance' haben, können Sie das Feld für den Saldo (balance) mithilfe von Informationen aus Ihrer Datenbank aktualisieren. Der Code könnte wie im folgenden Beispiel aussehen:
SELECT 	customer_balance
INTO :myCustomer.customerBalance
FROM Customer
WHERE customer_number = :myCustomer.customerNumber

Die Namen 'customer_balance' und 'customer_number' verweisen auf Spalten in der Datenbanktabelle 'Customer'; bei ':myCustomer.customerBalance' und ':myCustomer.customerNumber' handelt es sich um Hostvariablen (Variablen oder Felder, nach denen SQL in Ihrem EGL-Programm sucht).


Feedback