SHOW FUNCTIONS

기본 제공 함수, 사용자 정의 함수, 외부 함수 등 액세스 권한이 있는 모든 기능을 나열합니다.

사용자 정의 함수만 나열하는 명령은 SHOW USER FUNCTIONS 섹션을 참조하십시오.

참고 항목:

SHOW USER FUNCTIONS , SHOW EXTERNAL FUNCTIONS , SHOW FUNCTIONS IN MODEL , CREATE FUNCTION , DROP FUNCTION , ALTER FUNCTION , DESCRIBE FUNCTION

구문

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

      CLASS <class_name>            |

      DATABASE                      |
      DATABASE <database_name>      |

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

매개 변수

LIKE 'pattern'

오브젝트 이름으로 명령 출력을 선택적으로 필터링합니다. 이 필터는 SQL 와일드카드 문자(%_) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.

예를 들어, 다음 패턴은 같은 결과를 반환합니다.

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...

. 기본값: 값 없음(출력에 필터링이 적용되지 않음).

[ IN ... ]

선택적으로 명령의 범위를 지정합니다. 다음 중 하나를 지정합니다.

ACCOUNT

전체 계정의 레코드를 반환합니다.

CLASS class_name

지정된 클래스(class_name)의 레코드를 반환합니다.

DATABASE, . DATABASE db_name

현재 사용 중인 데이터베이스 또는 지정된 데이터베이스(db_name)의 레코드를 반환합니다.

db_name 없이 DATABASE 를 지정하고 사용 중인 데이터베이스가 없는 경우 키워드는 출력에 아무런 영향도 주지 않습니다.

참고

데이터베이스 컨텍스트에서 IN 절 없이 SHOW 명령을 사용하면 예상보다 적은 결과를 얻을 수 있습니다.

IN 절이 사용되지 않는 경우 같은 이름을 가진 오브젝트는 한 번만 표시됩니다. 예를 들어, schema1t1 테이블, schema2t1 테이블이 있고 두 테이블이 모두 지정한 데이터베이스 컨텍스트의 범위에 있는 경우(즉, 선택한 데이터베이스가 schema1schema2 의 부모인 경우), SHOW TABLES 는 t1 테이블 중 하나만 표시합니다.

SCHEMA, . SCHEMA schema_name

현재 사용 중인 스키마 또는 지정된 스키마(schema_name)의 레코드를 반환합니다.

데이터베이스가 사용 중이거나 정규화된 schema_name (예: db.schema)을 지정하는 경우 SCHEMA 는 선택 사항입니다.

사용 중인 데이터베이스가 없으면 SCHEMA 를 지정해도 출력에 아무런 영향도 주지 않습니다.

:code:`IN …`을 생략하는 경우 명령의 범위는 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.

  • If a database is currently in use, the command returns the objects you have privileges to view in the database. This has the same effect as specifying IN DATABASE.

  • If no database is currently in use, the command returns the objects you have privileges to view in your account. This has the same effect as specifying IN ACCOUNT.

출력

명령 출력은 다음 열에 함수 속성 및 메타데이터를 제공합니다.

설명

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_clustering

CLUSTER BY 식에서 함수를 사용할 수 있으면 Y 이고, 그렇지 않으면 N 입니다.

is_secure

함수가 보안 함수이면 Y 이고, 그렇지 않으면 N 입니다.

is_external_function

함수가 외부 함수이면 Y 이고, 그렇지 않으면 N 입니다.

language

  • 기본 제공 함수의 경우, 이 열에 SQL 이 표시됩니다.

  • 사용자 정의 함수의 경우, 이 열에 함수가 작성된 언어가 표시됩니다(예: JAVASCRIPT 또는 SQL). SHOW USER FUNCTIONS 섹션을 참조하십시오.

  • 외부 함수의 경우, 이 열에 EXTERNAL 이 표시됩니다.

is_memoizable

함수가 메모이제이션 가능 함수이면 Y 이고, 그렇지 않으면 N 입니다.

is_data_metric

함수가 DMF 이면 Y 이고, 그렇지 않으면 N 입니다.

사용법 노트

  • CLASS 를 지정할 경우 이 명령은 다음 열만 반환합니다.

    | name | min_num_arguments | max_num_arguments | arguments | descriptions | language |
    
  • 이 명령의 출력은 SN_TEMP_OBJECT_<n> (여기서 <n> 은 숫자임)과 같은 이름을 가진 오브젝트를 포함할 수 있습니다. 이들 오브젝트는 사용자를 대신하여 Snowpark 라이브러리에서 생성되는 임시 오브젝트입니다.

  • 이 명령을 실행하기 위해 실행 중인 웨어하우스가 꼭 필요하지는 않습니다.

  • 이 명령은 현재 사용자의 현재 역할에 하나 이상의 액세스 권한이 부여된 오브젝트만 반환합니다.

  • MANAGE GRANTS 액세스 권한은 그 권한을 보유한 자가 계정에 있는 모든 오브젝트를 볼 수 있도록 암시적으로 허용합니다. 기본적으로, 계정 관리자(ACCOUNTADMIN 역할 이 있는 사용자)와 보안 관리자(SECURITYADMIN 역할이 있는 사용자)만 MANAGE GRANTS 권한을 가집니다.

  • 이 명령의 출력을 후처리하기 위해 파이프 연산자 (->>) 또는 RESULT_SCAN 함수를 사용할 수 있습니다. 두 구문 모두 출력을 쿼리할 수 있는 결과 세트로 간주합니다.

    For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.

    When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column type, specify SELECT "type".

    You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.

  • 이 명령은 명령을 실행하는 데 사용된 역할에 대한 액세스 권한에 따라 지정된 오브젝트 유형에 대해 최대 1만 개의 레코드를 반환합니다. 필터를 적용하더라도 1만 개 레코드 제한을 초과하는 레코드는 반환되지 않습니다.

    10,000개 이상의 레코드가 존재하는 결과를 보려면 Snowflake Information Schema 에서 해당 뷰(있는 경우)를 쿼리하십시오.

모든 함수를 표시합니다.

SHOW FUNCTIONS;
Copy

지정된 정규식과 일치하는 함수만 표시합니다.

SHOW FUNCTIONS LIKE 'SQUARE';
Copy
------------+--------+-------------+------------+--------------+---------+-------------------+-------------------+----------------------------------------------------------------------+------------------------------------------------------------+----------+---------------+----------------+
 created_on | name   | schema_name | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments |                               arguments                              |                      description                           | language | is_memoizable | is_data_metric |
------------+--------+-------------+------------+--------------+---------+-------------------+-------------------+----------------------------------------------------------------------+------------------------------------------------------------+----------+---------------+----------------+
            | SQUARE |             | Y          | N            | Y       | 1                 | 1                 | SQUARE(NUMBER(38,0)) RETURN NUMBER(38,0), SQUARE(FLOAT) RETURN FLOAT | Compute the square of the input expression.                | SQL      | N             | N              |
------------+--------+-------------+------------+--------------+---------+-------------------+-------------------+----------------------------------------------------------------------+------------------------------------------------------------+----------+---------------+----------------+