SQL UDF 제한 사항¶
이 항목에서는 SQL로 작성된 처리기에 대한 제한 사항에 대해 설명합니다.
인자 및 반환 유형 제약 조건이 때때로 무시됨¶
인자 또는 반환 값에 대해 선언된 특정 유형의 특성은 UDF 호출 시 무시됩니다. 이러한 경우 수신된 값은 선언에 지정된 제약 조건을 준수하는지 여부에 관계없이 수신된 값으로 사용될 수 있습니다.
다음은 논리가 SQL로 작성된 UDF에 대해 무시됩니다.
NUMBER 유형의 인자 및 반환 값에 대한 전체 자릿수 및 소수 자릿수
VARCHAR 유형의 인자 및 반환 값의 길이
예¶
다음 예제의 코드는 arg1 인자와 반환 값이 1자 이하의 VARCHAR이어야 한다고 선언합니다. 하지만 값이 1자보다 긴 arg1 로 이 함수를 호출하면 제약 조건이 지정되지 않은 것처럼 성공합니다.
데이터베이스 오브젝트를 참조할 때 동적 SQL은 지원되지 않습니다.¶
동적 SQL을 사용하여 데이터베이스 오브젝트를 참조하면 다음과 같은 텍스트를 포함하는 오류가 생성됩니다.
서로 다른 데이터베이스 오브젝트를 사용하는 동적 SQL 문을 생성해야 하는 경우 대신 저장 프로시저를 작성해 보십시오. 다음 언어 중 하나로 저장 프로시저를 작성할 수 있습니다.
예¶
다음 예제의 코드는 IDENTIFIER 함수를 사용하여 이름이 table_name_parameter 변수로 동적으로 지정되는 테이블을 참조하기 때문에 실패하게 됩니다.