JavaScript UDF 문제 해결¶
이 항목에서는 JavaScript UDF 문제 해결에 대한 정보를 제공합니다.
이 항목의 내용:
팁¶
JavaScript는 대/소문자를 구분하지만, SQL은 이름을 대문자로 강제합니다. 이는 예를 들어 UDF 입력 매개 변수 이름에 영향을 줄 수 있습니다. JavaScript 코드는 모두 대문자를 사용하여 입력 매개 변수 이름을 참조해야 합니다.
마스킹 정책 에서 JavaScript UDF를 사용하는 경우 열의 데이터 타입, UDF, 마스킹 정책이 일치하는지 확인하십시오.
문제 해결¶
오류 메시지: Variable is not defined
¶
- 원인:
SnowSQL에서 명령을 실행할 때 이 오류 메시지가 나타나는 경우 CREATE FUNCTION 명령 내의 앰퍼샌드(
&
)가 그 원인일 수 있습니다. (앰퍼샌드는 SnowSQL 변수 대체 문자입니다.) 예를 들어, SnowSQL에서 다음을 실행하면 이 오류가 발생합니다.create function mask_bits(...) ... as $$ var masked = (x & y); ... $$;
이 오류는 함수가 호출될 때가 아니라 생성될 때 발생합니다.
- 해결책:
SnowSQL에서 변수 대체를 사용하지 않으려는 경우 다음 명령을 실행하여 변수 대체를 명시적으로 비활성화할 수 있습니다.
!set variable_substitution=false;
변수 대체에 대한 자세한 내용은 변수 사용하기 을 참조하십시오.