시그니처

UDX 또는 SQL 함수의 경우 해당 입력 인수의 목록 및 이름은 시그니처로 구성됩니다. 예를 들어, udx42(VARCHAR,CHAR)는 두 입력 인수(VARCHAR 및 CHAR)를 허용하는 이름이 udx42인 UDX의 시그니처입니다.

시그니처는 스키마 내에서 고유해야 합니다. 다른 데이터 유형 크기는 다른 시그니처에 나타나지 않습니다. 예를 들어, 다음 두 정의는 동일한 시그니처에서 나타날 수 있습니다.
udx200(VARCHAR(124),CHAR(14))
udx200(VARCHAR(600),CHAR(72))
함수가 다른 크기의 입력을 허용해야 하는 공통 유스 케이스가 있는 경우 다음을 수행하십시오.
  • 하나의 UDX를 디자인하여 가능한 값 중 가장 큰 값을 허용하십시오. (이는 이전 절의 customername 예에서 완료되었습니다.)
  • 여러 UDX를 등록하십시오.

최대 유연성을 위해 해당 입력 인수의 목록 대신 VARARGS를 지정할 수 있습니다. 그러나 이를 수행하는 경우 동일한 함수 경로의 스키마에서 또는 동일한 스키마에서 지정된 이름이 있는 기타 UDX가 없을 수 있습니다. 예를 들어, 시그니처가 udx5(int)udx5(VARARGS)인 두 함수가 있는 경우 항상 앞의 함수가 사용되며(데이터 유형 변환이 실패하는 경우에도) 뒤의 함수는 항상 무시됩니다.