TO_QUERY

TO_QUERY (동적 쿼리 구성)

SQL 텍스트와, SQL 텍스트가 매개변수화된 경우 그 SQL 텍스트에 전달되는 선택적인 인자 집합을 기반으로 결과 집합을 반환해요. 이 함수는 SQL 텍스트를 FROM 절의 하위 쿼리 정의로 컴파일해요. 애플리케이션이나 저장 프로시저를 작성할 때 이 함수를 호출해 SQL 문을 구성할 수 있어요.

참고: 이 함수는 쿼리 문에 사용자 입력을 포함할 수 있으며, 이는 SQL 주입 같은 잠재적 보안 위험이 있어요. 함수에 대한 입력이 외부 소스에서 오면 검증했는지 확인해요. 자세한 내용은 SQL 주입을 참고해요.

출처: Snowflake SQL Reference - TO_QUERY

본문

구문

TO_QUERY( SQL => '<string>' [ , <arg> => '<value>' [, <arg> => '<value>' ...] ] )

인자

필수:

SQL => '<string>'

하위 쿼리의 문자열 표현이에요.

선택:

<arg> => '<value>'

SQL 문자열에 전달되는 바인드 변수예요.

반환 값

지정한 SQL 텍스트를 실행해 만든 결과 집합 또는 NULL을 반환해요. 인자 중 하나라도 NULL이면 함수는 오류를 보고하지 않고 NULL을 반환해요.

사용 참고 사항

  • 모든 인자는 다음 중 하나여야 해요:
    • 상수 문자열.
    • 문자열로 해석되는 SQL 변수 또는 Snowflake Scripting 변수.
  • 인자에 전달된 문자열을 다른 데이터 타입으로 변환해야 하면 SQL 문자열에서 변환 함수를 사용해 문자열을 다른 데이터 타입으로 변환할 수 있어요.
  • 결과 집합을 정의하는 컬럼 집합은 컴파일된 SQL 문의 SELECT 목록에서 파생돼요.
  • 이 함수는 SQL 문의 FROM 절에서만 유효해요.

예시

테이블을 만들고 그 안에 데이터를 삽입해요:

CREATE OR REPLACE TABLE to_query_example (
  deptno NUMBER(2),
  dname  VARCHAR(14),
  loc    VARCHAR(13))
AS SELECT
  column1,
  column2,
  column3
FROM
  VALUES
    (10, 'ACCOUNTING', 'NEW YORK'),
    (20, 'RESEARCH',   'DALLAS'  ),
    (30, 'SALES',      'CHICAGO' ),
    (40, 'OPERATIONS', 'BOSTON'  );

더 알아보기