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.
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).