SHOW PROCEDURES¶
기본 제공 프로시저 및 사용자 정의 프로시저를 포함하여 액세스 권한이 있는 모든 저장 프로시저를 나열합니다.
사용자 정의 프로시저만 나열하는 명령은 SHOW USER PROCEDURES 섹션을 참조하십시오.
구문¶
SHOW PROCEDURES [ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
CLASS <class_name> |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
APPLICATION <application_name> |
APPLICATION PACKAGE <application_package_name> |
}
]
매개 변수¶
LIKE 'pattern'오브젝트 이름으로 명령 출력을 선택적으로 필터링합니다. 이 필터는 SQL 와일드카드 문자(
%및_) 지원과 함께 대/소문자를 구분하지 않는 패턴 일치를 사용합니다.예를 들어, 다음 패턴은 같은 결과를 반환합니다.
... LIKE '%testing%' ...... LIKE '%TESTING%' .... 기본값: 값 없음(출력에 필터링이 적용되지 않음).
[ IN ... ]선택적으로 명령의 범위를 지정합니다. 다음 중 하나를 지정합니다.
ACCOUNT전체 계정의 레코드를 반환합니다.
DATABASE, .DATABASE db_name현재 사용 중인 데이터베이스 또는 지정된 데이터베이스(
db_name)의 레코드를 반환합니다.db_name없이DATABASE를 지정하고 사용 중인 데이터베이스가 없는 경우 키워드는 출력에 아무런 영향도 주지 않습니다.참고
데이터베이스 컨텍스트에서
IN절 없이 SHOW 명령을 사용하면 예상보다 적은 결과를 얻을 수 있습니다.IN절이 사용되지 않는 경우 같은 이름을 가진 오브젝트는 한 번만 표시됩니다. 예를 들어,schema1에t1테이블,schema2에t1테이블이 있고 두 테이블이 모두 지정한 데이터베이스 컨텍스트의 범위에 있는 경우(즉, 선택한 데이터베이스가schema1및schema2의 부모인 경우), 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 또는 애플리케이션 패키지에 대한 레코드를 반환합니다.
: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.
사용법 노트¶
이 명령을 실행하기 위해 실행 중인 웨어하우스가 꼭 필요하지는 않습니다.
이 명령은 현재 사용자의 현재 역할에 하나 이상의 액세스 권한이 부여된 오브젝트만 반환합니다.
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, specifySELECT "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 에서 해당 뷰(있는 경우)를 쿼리하십시오.
CLASS를 지정할 경우 이 명령은 다음 열만 반환합니다.| name | min_num_arguments | max_num_arguments | arguments | descriptions | language |
출력¶
명령 출력은 다음 열에 프로시저 속성 및 메타데이터를 제공합니다.
열 |
설명 |
|---|---|
|
저장 프로시저가 생성된 타임스탬프입니다. |
|
저장 프로시저의 이름입니다. |
|
저장 프로시저가 존재하는 스키마의 이름입니다. |
|
저장 프로시저가 (사용자 정의되는 게 아니라) 기본 제공되는 경우 |
|
현재 적용되지 않습니다. |
|
저장 프로시저가 ANSI 표준에 정의된 경우 |
|
최소 인자 개수입니다. |
|
최대 인자 개수입니다. |
|
인자 및 반환 유형의 데이터 타입입니다. 선택적 인자는 |
|
저장 프로시저에 대한 설명입니다. |
|
저장 프로시저가 있는 데이터베이스의 이름입니다. |
|
저장 프로시저가 테이블 형식 데이터를 반환하는 경우 |
|
현재 적용되지 않습니다. |
|
저장 프로시저가 안전한 저장 프로시저이면 |
예¶
모든 프로시저를 표시합니다.
SHOW PROCEDURES;
다음은 매개 변수가 있는 저장 프로시저에서 SHOW PROCEDURE 를 사용하는 방법을 보여주는 예입니다. 프로시저의 목록을 지정된 정규식과 일치하는 프로시저로 제한하는 방법을 보여주기도 합니다.
SHOW PROCEDURES LIKE 'area_of_%';
+-------------------------------+----------------+--------------------+------------+--------------+---------+-------------------+-------------------+------------------------------------+------------------------+-----------------------+-------------------+----------------------+-----------+
| 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 |
|-------------------------------+----------------+--------------------+------------+--------------+---------+-------------------+-------------------+------------------------------------+------------------------+-----------------------+-------------------+----------------------+-----------|
| 1967-06-23 00:00:00.123 -0700 | AREA_OF_CIRCLE | TEMPORARY_DOC_TEST | N | N | N | 1 | 1 | AREA_OF_CIRCLE(FLOAT) RETURN FLOAT | user-defined procedure | TEMPORARY_DOC_TEST_DB | N | N | N |
+-------------------------------+----------------+--------------------+------------+--------------+---------+-------------------+-------------------+------------------------------------+------------------------+-----------------------+-------------------+----------------------+-----------+
출력 열은 SHOW FUNCTIONS 및 SHOW USER FUNCTIONS 의 출력 열과 유사합니다. 저장 프로시저의 경우 이러한 열 중 일부는 현재 의미가 없지만(예: is_aggregate, valid_for_clustering), 향후 사용을 위해 예약되어 있습니다.