SHOW FUNCTIONS

SHOW FUNCTIONS

SHOW FUNCTIONS 명령은 접근 권한(privilege)이 있는 모든 함수(기본 제공, 사용자 정의, 외부 함수 포함) 목록을 보여주는 명령이에요.

출처: 문서

본문

이 명령은 접근할 권한이 있는 모든 함수를 나열해요. 사용자 정의 함수만 나열하는 명령은 SHOW USER FUNCTIONS를 참고해요.

관련 명령: SHOW USER FUNCTIONS, SHOW EXTERNAL FUNCTIONS, SHOW FUNCTIONS IN MODEL, CREATE FUNCTION, DROP FUNCTION, ALTER FUNCTION, DESCRIBE FUNCTION.

구문 (Syntax)

SHOW FUNCTIONS [ LIKE '<pattern>' ]
  [ IN
    {
      ACCOUNT                       |

      CLASS <class_name>            |

      DATABASE                      |
      DATABASE <database_name>      |

      SCHEMA                        |
      SCHEMA <schema_name>          |
      <schema_name>
    }
  ]

파라미터 (Parameters)

  • LIKE <pattern> — 명령 출력을 객체 이름으로 필터링해요. 대소문자를 구분하지 않는 패턴 매칭이며 SQL 와일드카드 문자(%_)를 지원해요. 기본값: 없음.

  • [ IN ... ] — 명령의 범위를 선택적으로 지정해요:

    • ACCOUNT — 전체 계정의 레코드 반환.
    • CLASS <class_name> — 지정한 클래스의 레코드 반환.
    • DATABASE 또는 DATABASE db_name — 현재 또는 지정한 데이터베이스의 레코드 반환.
    • SCHEMA 또는 SCHEMA schema_name — 현재 또는 지정한 스키마의 레코드 반환.
    • IN ...을 생략하면 범위는 세션의 현재 데이터베이스 유무에 따라 달라져요: 있으면 IN DATABASE와 같은 효과, 없으면 IN ACCOUNT와 같은 효과.

출력 (Output)

명령 출력은 함수 속성과 메타데이터를 다음 컬럼으로 제공해요:

  • created_on — 함수가 생성된 타임스탬프.
  • name — 함수 이름.
  • schema_name — 함수가 존재하는 스키마 이름. 기본 제공 함수는 NULL.
  • is_builtin — 기본 제공 함수이면 Y, 아니면 N.
  • is_aggregate — 집계 함수이면 Y, 아니면 N.
  • is_ansi — ANSI SQL 표준의 일부이면 Y, 아니면 N.
  • min_num_arguments — 최소 인자 수.
  • max_num_arguments — 최대 인자 수.
  • arguments — 인자 및 반환 값의 데이터 타입 표시.
  • description — 함수 설명.
  • catalog_name — 함수가 존재하는 데이터베이스 이름. 기본 제공 함수는 NULL.
  • is_table_function — 테이블 함수이면 Y, 아니면 N.
  • valid_for_clusteringCLUSTER BY 표현식에 사용할 수 있으면 Y, 아니면 N.
  • is_secure — 보안 함수이면 Y, 아니면 N.
  • is_external_function — 외부 함수이면 Y, 아니면 N.
  • language — 기본 제공 함수는 SQL. 사용자 정의 함수는 작성 언어(SQL, JAVASCRIPT 등). 외부 함수는 EXTERNAL.
  • is_memoizable — 메모이제이션 가능하면 Y, 아니면 N.
  • is_data_metric — DMF이면 Y, 아니면 N.

사용 참고 사항 (Usage notes)

  • CLASS를 지정하면 명령은 다음 컬럼만 반환해요: name, min_num_arguments, max_num_arguments, arguments, description, language.
  • 이 명령의 출력에는 SN_TEMP_OBJECT_n(여기서 n은 숫자) 같은 이름의 객체가 포함될 수 있어요. 이는 Snowpark 라이브러리가 사용자 대신 만든 임시 객체예요.
  • 실행에 실행 중인 웨어하우스를 요구하지 않아요.
  • 현재 역할에 하나 이상의 접근 권한이 부여된 객체만 반환해요.
  • MANAGE GRANTS 권한은 보유자가 계정의 모든 객체를 볼 수 있게 해줘요. 기본적으로 ACCOUNTADMIN과 SECURITYADMIN 역할만 이 권한을 가져요.
  • 출력을 후처리하려면 파이프 연산자(|>) 또는 RESULT_SCAN 함수를 사용할 수 있어요. 출력 컬럼을 참조할 때는 컬럼 이름을 큰따옴표로 감싸서 사용해요.
  • 명령은 최대 1만 개의 레코드를 반환해요. 1만 개가 넘는 결과는 필터를 적용해도 반환되지 않아요.

예제 (Examples)

모든 함수를 표시해요:

SHOW FUNCTIONS;

이름이 SQUARE와 일치하는 함수만 표시해요:

SHOW FUNCTIONS LIKE 'SQUARE';

더 알아보기 (Learn more)