ESQL 프로시저

프로시저는 리턴 값이 없는 서브루틴입니다. 이 프로시저는 호출자로부터 입력 매개변수를 수신하고 출력 매개변수를 리턴할 수 있습니다.

프로시저는 함수와 매우 유사합니다. 프로시저와 함수의 기본적인 차이는 함수와 달리 프로시저에 리턴 값이 없다는 점입니다. 따라서 프로시저는 표현식의 일부를 구성할 수 없으며 CALL문을 사용하여 호출됩니다. 프로시저에는 주로 출력 매개변수가 있습니다.

프로시저를 ESQL(내부 프로시저) 또는 데이터베이스 저장 프로시저(외부 프로시저)로 구현할 수 있습니다. ESQL 프로시저는 ESQL문이 BEGIN END와 같은 복합 명령문이 될 수 있는 경우에도 단일 ESQL문이어야 합니다. EVAL문 또는 EVAL 함수 내에서 프로시저를 정의할 수 없습니다.

프로시저를 정의할 때, 이름을 부여하십시오. 이름은 대소문자가 구분되지 않습니다. (즉, 대소문자가 결합된 이름을 사용해도 선언과 일치합니다.) 이것은 대소문자가 구분되고 선언한 대로 정확히 지정해야 하는 스키마, 상수, 변수 및 레이블에 대해 선언하는 이름과 대조됩니다.

ESQL 표현식에는 다른 브로커 스키마에 있는 프로시저(같거나 다른 종속 프로젝트의 ESQL 파일에 정의)에 대한 참조가 포함될 수 있습니다. 이 기술을 사용하려면, 프로시저를 완전히 규정하거나 이 규정자를 설정하는 PATH문을 포함시키십시오. PATH문은 MODULE이 아닌 같은 ESQL 파일 내에서 코딩해야 합니다.

외부 데이터베이스 프로시저는 키워드 EXTERNAL 및 외부 프로시저 이름으로 표시됩니다. 이 프로시저는 데이터베이스 및 브로커에 정의되어야 하고, 매개변수 이름이 일치할 필요가 없는 경우에도 EXTERNAL 키워드로 지정된 이름과 저장 데이터베이스 프로시저의 이름이 같아야 합니다. ESQL 프로시저 이름은 정의하는 외부 이름과 다를 수 있습니다.

데이터베이스에 대해 과부하된 프로시저는 지원되지 않습니다. (과부하된 프로시저는 매개변수 수가 다르거나 매개변수 유형이 다른 동일한 데이터베이스 스키마에서 다른 프로시저와 같은 이름을 갖는 프로시저입니다.) 브로커에서 프로시저가 과부하됨을 감지하면 예외를 생성합니다.

저장 프로시저에 대한 동적 스키마 이름 해석이 지원됩니다. 따라서, 프로시저를 정의할 때, ESQL이 프로시저를 호출하기 전에 해석되는 스키마에 대해 와일드카드를 지정해야 합니다. 이에 대해서는 저장 프로시저 호출에서 자세히 설명합니다.

관련 개념
메시지 플로우 개요
메시지 맵핑 개요
관련 태스크
메시지 플로우 개발
ESQL 개발
저장 프로시저 호출
관련 참조
내장 노드
ESQL 참조
CREATE FUNCTION문
CREATE MODULE문
CREATE PROCEDURE문
주의사항 | 등록상표 | 다운로드 | 라이브러리 | 지원 | 피드백
Copyright IBM Corporation 1999, 2006 마지막 갱신 날짜: 2006/08/21
ak01090_