호스트 변수

호스트 변수를 사용하면 SQL문에서 EGL 변수를 사용할 수 있습니다.

SQL문은 절대 호스트 언어(이 경우 EGL)라는 다른 언어의 외부에 표시되지 않습니다. SQL은 EGL과 구별되는 언어이므로, EGL 프로그램에서 선언된 변수에 대한 액세스 권한을 자동으로 갖게 되지는 않습니다. SQL을 호스트하는 다른 언어에서처럼 호스트 변수를 사용하여 SQL에 이 액세스 권한을 부여해야 합니다.

호스트 변수에는 호스트 언어의 변수와 동일한 이름이 있으며 추가로 초기 콜론 문자(:)가 있습니다. 초기 콜론은 해당 변수가 SQL이 아니라 호스트 언어(EGL)로 정의되었음을 표시합니다.

customerNumber가 키 필드이고 customerBalance가 데이터 필드인 myCustomer라는 SQL 레코드 변수가 있는 경우, 데이터베이스의 정보를 사용하여 잔액 필드를 업데이트할 수 있습니다. 코드는 다음 샘플과 유사합니다.
SELECT 	customer_balance
INTO :myCustomer.customerBalance
FROM Customer
WHERE customer_number = :myCustomer.customerNumber

이름 customer_balancecustomer_number는 데이터베이스 테이블 Customer의 열을 참조하며 :myCustomer.customerBalance:myCustomer.customerNumber는 호스트 변수(SQL이 EGL 프로그램에서 검색하는 변수 또는 필드)를 참조합니다.