함수는 제공된 입력 값으로부터 값을 계산하는 ESQL 구조체입니다.
함수에는 보통 입력 매개변수가 있지만, 출력 매개변수는 없습니다. 명령문에서 설명한 알고리즘으로 계산된 값을 리턴합니다. 알고리즘을 구현하기 위해 중첩 명령문을 무제한으로 사용할 수 있기 때문에 이 명령문은 주로 BEGIN... END와 같은 복합 명령문입니다.
ESQL은 표현식 내에서 자유롭게 사용할 수 있는 사전정의되거나 "내장된" 여러 함수를 제공합니다. 또한 CREATE FUNCTION 문을 사용하여 사용자 고유 함수를 정의할 수도 있습니다.
함수를 정의할 때 고유한 이름을 지정해야 합니다. 이름은 대소문자가 구분되지 않습니다. (즉, 대소문자가 결합된 이름을 사용해도 선언과 일치합니다.) 이것은 대소문자가 구분되고 선언한 대로 정확히 지정해야 하는 스키마, 상수, 변수 및 레이블에 대해 선언하는 이름과 대조됩니다.
다음의 ESQL 프로그램의 일부를 고려해 보십시오.
SET Diameter = SQRT(Area / 3.142) * 2;
이 예에서는 대괄호 내의 값이 제공되고(자체가 나눗셈 표현식의 결과임) 결과는 추가 표현식인 곱셈에서 사용됩니다. 리턴 값은 변수 Diameter로 지정됩니다. 모든 내장 ESQL에 대한 정보는 ESQL 함수 호출을 참조하십시오.
EVAL 문 또는 EVAL 함수에서 함수를 정의할 수 없습니다.