데이터베이스에
저장한 프로시저를 호출하려면 ESQL CALL문을 사용하십시오. 스토어드 프로시저는
다음 절이 있는
CREATE PROCEDURE문에서 정의해야 합니다.
- DATABASE의 Language 절
- 데이터베이스와, 선택적으로 데이터베이스가 속하는 데이터베이스 스키마에서
프로시저의 이름을 식별하는 EXTERNAL NAME 절.
CALL문으로 저장 프로시저를
호출할 경우 ESQL 정의와 데이터베이스 정의가 일치하는지 브로커가 확인합니다.
- 프로시저의 외부 이름이 데이터베이스의 프로시저와 일치해야 합니다.
- 매개변수의 수가 동일해야 합니다.
- 각 매개변수의 유형이 동일해야 합니다.
- 각 매개변수의 방향(IN, OUT, INOUT)이 동일해야 합니다.
다음 제한사항이 스토어드 프로시저 사용 시 적용됩니다.
- 과부하된 프로시저는 지원되지 않습니다. (과부하 프로시저는 동일한 데이터베이스 스키마에서 다른 프로시저와 동일한 이름을 가지며 매개변수 수 또는 매개변수 유형이 다른 프로시저입니다.) 프로시저가
과부하 상태임을 브로커가 감지할 경우 예외가 발생합니다.
- Oracle 스토어드 프로시저 선언에서 CHAR 및 VARCHAR2 매개변수의 길이 제한은 허용되지 않으며 NUMBER 매개변수의
정밀도 또는 배율 혹은 둘 다에 대한 제한도 허용되지 않습니다. CHAR, VARCHAR
및 NUMBER 매개변수 선언 시 %TYPE을 사용하여 정규 매개변수의 제한사항을 제공하십시오.