sql 지시문
sql 지시문을 사용하여 암시적 SQL 코드를 사용자 정의하거나 완전한 새 코드를 작성할 수 있습니다.
암시적 SQL 코드와 임베디드 SQL 코드에 대한 자세한 정보는 SQL 데이터 액세스의 내용을 참조하십시오.
일반적으로, with 키워드를 사용하여 사용자의 임베디드 SQL 코드를 소개합니다. execute 문은
with를 사용하지 않으므로 예외입니다. 다음, 중간에 공백 없이 sql 키워드와 왼쪽 중괄호를 사용하십시오. 다음 예제에서처럼
오른쪽 중괄호로 임베드된 코드를 끝내십시오.
get myCustomer with #sql{
SELECT customer_name
FROM Customer
WHERE customer_number = :myCustomer.customerNumber };
초기 콜론 문자는 호스트 변수(SQL을 호스트하는 언어(이 경우 EGL)에서 정의된 변수)를 표시합니다(예: :myCustomer.customerNumber.
암시적 SQL 코드를 임베디드 코드로 변환한 후 수정할 수 있습니다. 자세한 정보는 EGL 프로그래머 안내서를 참조하십시오.
임베디드 SQL문은 암시적 SQL문보다 우선합니다. 다음 부정적인 예제에는 암시되거나 호출되는
세 개의 충돌하는 키 필드가 있습니다.
get myCustomer usingKeys myCustomer.customerName with #sql{
SELECT customer_name
FROM Customer
WHERE customer_number = :myOrders.customerNumber };
첫 번째 키 필드는
레코드 프로토타입 CustomerRecord(myCustomer.customerNumber)로 지정된 것입니다. usingKeys 절은 이 기본 키를
임베드된 코드도 없는 경우 EGL이 생성하는 암시적 SQL 코드의 myCustomer.customerName으로 대체합니다. 임베디드 코드는 암시적 코드를 대체하고
myOrders.CustomerNumber를 실제 키로 사용하여 데이터베이스에서 읽습니다.