SQL문에 대한 작업
EGL을 사용하면 EGL 프로그램에 있는 명시 SQL 코드를 처리할 수 있습니다.
SQL을 사용하지 않고도 EGL로 어느 정도 정교한 데이터베이스 조작을 수행할 수 있습니다. 그러나 숙련된 SQL 프로그래머가 SQL을 사용하여 얻을 수 있는 수준의 제어를 필요로 하는 경우가 있을 수 있습니다. EGL은 #sql 지시문을 통해 이러한 프로그래머의 요구를 만족시킵니다.
#sql 지시문
EGL 키워드 #sql은 다음 예제와 같이 중괄호로 구분된 명시 SQL 코드의 섹션을 삽입합니다.
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 };
이 코드를 수정하여 SELECT 문을 세밀하게 조정할 수 있습니다. 자세한 정보는 암시 SQL문 보기의 내용을 참조하십시오. #sql 지시문을 사용하여 스토어드 프로시저를 호출할 수도 있습니다(스토어드 프로시저 호출 참조).
호스트 변수
앞서 제시된 예제에서 변수 myCustomer.customerNumber 앞에 콜론이 있는 것을 볼 수 있습니다. 이는 EGL에게 SQL 테이블이 아니라 EGL 프로그램 내에서 이 변수 이름을 찾도록 지시하는 것입니다. 이러한 변수를 호스트 변수라 하며, 이는 EGL이 SQL을 호스팅하고 있는 프로그래밍 언어이기 때문입니다. SQL은 독립 언어로서 실행될 수 없습니다.