SHOW USER PROCEDURES

액세스 권한이 있는 모든 사용자 정의 프로시저를 나열합니다. 이 명령을 사용하여 지정된 데이터베이스 또는 스키마(또는 세션의 현재 데이터베이스/스키마), 애플리케이션 또는 전체 계정에 대한 사용자 정의 프로시저를 나열할 수 있습니다.

기본 제공 프로시저와 사용자 지정 프로시저를 포함한 모든 프로시저를 나열하는 명령은 SHOW PROCEDURES 섹션을 참조하십시오.

참고 항목:

SHOW PROCEDURES, PROCEDURES 뷰 (Information Schema), PROCEDURES 뷰 (Account Usage), SHOW USER PROCEDURES

구문

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

      DATABASE                                        |
      DATABASE <database_name>                        |

      SCHEMA                                          |
      SCHEMA <schema_name>                            |
      <schema_name>

      APPLICATION <application_name>                  |
      APPLICATION PACKAGE <application_package_name>  |
    }
  ]
Copy

매개 변수

LIKE 'pattern'

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

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

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

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

[ IN ... ]

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

ACCOUNT

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

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 를 지정해도 출력에 아무런 영향도 주지 않습니다.

APPLICATION application_name, . APPLICATION PACKAGE application_package_name

명명된 Snowflake Native App 또는 애플리케이션 패키지에 대한 레코드를 반환합니다.

기본값: 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.

  • 데이터베이스: DATABASE 가 기본값입니다(즉, 이 명령은 데이터베이스에서 볼 권한이 있는 오브젝트를 반환함).

  • 데이터베이스 없음: ACCOUNT 가 기본값입니다(즉, 이 명령은 계정에서 볼 권한이 있는 오브젝트를 반환함).

출력

명령 출력에는 사용자 프로시저 속성과 메타데이터가 다음 열에 나열됩니다.

설명

created_on

프로시저가 생성된 타임스탬프입니다.

name

프로시저 이름입니다.

schema_name

프로시저가 존재하는 스키마의 이름입니다.

is_builtin

프로시저가 내장된 경우 Y 이고, 그렇지 않은 경우 N 입니다(사용자가 만든 프로시저의 경우 항상 N).

is_aggregate

현재 적용되지 않습니다.

is_ansi

현재 적용되지 않습니다.

min_num_arguments

프로시저에 대한 최소 인자 수입니다.

max_num_arguments

프로시저의 최대 인자 수입니다.

arguments

인자 및 반환 값의 데이터 타입입니다.

description

프로시저에 대한 설명입니다.

catalog_name

프로시저가 존재하는 데이터베이스의 이름입니다.

is_table_function

프로시저가 테이블을 반환하는 경우 Y 이고, 그렇지 않으면 N 입니다.

valid_for_clustering

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

is_secure

프로시저가 안전한 프로시저이면 Y 이고, 그렇지 않으면 N 입니다.

secrets

프로시저의 SECRETS 매개 변수로 지정된 시크릿 값의 맵입니다. 여기서 맵 키는 시크릿 변수 이름이고 맵 값은 시크릿 오브젝트 이름입니다.

external_access_integrations

프로시저의 EXTERNAL_ACCESS_INTEGRATION 매개 변수로 지정된 외부 액세스 통합 의 이름입니다.

사용법 노트

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

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

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

  • 이 명령의 출력을 사후 처리하려면 출력을 쿼리할 수 있는 테이블로 처리하는 RESULT_SCAN 함수를 사용하면 됩니다. 파이프 연산자 를 사용하여 이 명령의 출력을 쿼리할 수도 있습니다.

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

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

이름이 GET_ 으로 시작하는 현재 스키마에서 볼 수 있는 권한이 있는 프로시저를 표시합니다.

SHOW USER PROCEDURES LIKE 'GET_%' IN SCHEMA;
Copy
-------------------------------+-----------------+-------------+------------+--------------+---------+-------------------+-------------------+---------------------------------------+------------------------+--------------+-------------------+----------------------+-----------+---------+------------------------------+
          created_on           | name            | schema_name | is_builtin | is_aggregate | is_ansi | min_num_arguments | max_num_arguments | arguments                             | description            | catalog_name | is_table_function | valid_for_clustering | is_secure | secrets | external_access_integrations |
-------------------------------+-----------------+-------------+------------+--------------+---------+-------------------+-------------------+---------------------------------------+------------------------+--------------+-------------------+----------------------+-----------+---------+------------------------------+
 2023-01-27 15:01:13.862 -0800 | GET_FILE        | PUBLIC      | N          | N            | N       | 1                 | 1                 | GET_FILE(VARCHAR) RETURN VARCHAR      | user-defined procedure | BOOKS_DB     | N                 | N                    | N         |         |                              |
 2023-03-23 10:38:10.423 -0700 | GET_NUM_RESULTS | PUBLIC      | N          | N            | N       | 1                 | 1                 | GET_NUM_RESULTS(VARCHAR) RETURN FLOAT | user-defined procedure | BOOKS_DB     | N                 | N                    | N         |         |                              |
 2023-03-23 09:47:55.840 -0700 | GET_RESULTS     | PUBLIC      | N          | N            | N       | 1                 | 1                 | GET_RESULTS(VARCHAR) RETURN TABLE ()  | user-defined procedure | BOOKS_DB     | Y                 | N                    | N         |         |                              |
-------------------------------+-----------------+-------------+------------+--------------+---------+-------------------+-------------------+---------------------------------------+------------------------+--------------+-------------------+----------------------+-----------+---------+------------------------------+