SHOW CONTACTS¶
액세스 권한이 있는 연락처 를 나열합니다.
이 명령을 사용하여 세션, 지정된 데이터베이스 또는 스키마 또는 전체 계정의 현재 데이터베이스 및 스키마에 있는 오브젝트를 나열할 수 있습니다.
출력에는 각 오브젝트의 메타데이터와 속성이 포함됩니다. 오브젝트는 데이터베이스, 스키마 및 오브젝트 이름을 기준으로 사전순으로 정렬됩니다(출력 열에 대한 설명은 이 항목의 출력 참조). 결과를 필터링하려면 결과의 행 순서에 유의해야 합니다.
- 참고 항목:
구문¶
SHOW CONTACTS [ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
매개 변수¶
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를 지정해도 출력에 아무런 영향도 주지 않습니다.
:code:`IN …`을 생략하는 경우 명령의 범위는 세션에 현재 사용 중인 데이터베이스가 있는지 여부에 따라 다릅니다.
STARTS WITH 'name_string'오브젝트 이름의 시작 부분에 나타나는 문자를 기반으로 명령 출력을 선택적으로 필터링합니다. 문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.
예를 들어, 다음 문자열은 서로 다른 결과를 반환합니다.
... STARTS WITH 'B' ...... STARTS WITH 'b' .... 기본값: 값 없음(출력에 필터링이 적용되지 않음)
LIMIT rows선택적으로, 반환되는 최대 행 수를 제한합니다. 반환되는 실제 행 수는 지정된 제한보다 적을 수 있습니다. 예를 들어 기존 오브젝트 수가 지정된 제한보다 적습니다.
기본값: 값 없음(출력에 제한이 적용되지 않음)
LIMIT rows [ FROM 'name_string' ]반환되는 최대 행 수를 선택적으로 제한하는 동시에, 결과의 “페이지 매김”도 활성화합니다. 반환되는 실제 행 수는 지정된 제한보다 적을 수 있습니다. 예를 들어 기존 오브젝트 수가 지정된 제한보다 적습니다.
선택적
FROM 'name_string'하위 절은 사실상 결과에 대한 “커서” 역할을 합니다. 그 덕분에 오브젝트 이름이 지정된 문자열과 일치하는 첫 번째 행 다음에 오는 행을 지정된 개수만큼 가져올 수 있습니다.문자열은 작은따옴표로 묶어야 하며 대/소문자를 구분 합니다.
부분 이름이 지원되므로, 문자열이 전체 오브젝트 이름을 포함할 필요는 없습니다.
기본값: 값 없음(출력에 제한이 적용되지 않음)
참고
FROM 'name_string'및STARTS WITH 'name_string'절을 모두 지원하는 SHOW 명령의 경우 동일한 문에서 이러한 절을 모두 결합할 수 있습니다. 하지만 두 가지 조건이 모두 충족되어야 하며, 그렇지 않으면 서로 상쇄되어 아무런 결과도 반환되지 않습니다.또한, 오브젝트는 이름을 기준으로 사전순으로 반환되므로,
FROM 'name_string'은STARTS WITH 'name_string'에서 반환된 행보다 사전 값이 더 높은 행만 반환합니다.예:
... STARTS WITH 'A' LIMIT ... FROM 'B'는 아무런 결과도 반환하지 않습니다.... STARTS WITH 'B' LIMIT ... FROM 'A'는 아무런 결과도 반환하지 않습니다.... STARTS WITH 'A' LIMIT ... FROM 'AB'는 결과를 반환합니다(입력 문자열과 일치하는 행이 있는 경우).
출력¶
명령의 출력에는 오브젝트의 속성과 메타데이터를 설명하는 다음 열이 포함됩니다.
열 |
설명 |
|---|---|
|
연락처가 만들어진 날짜 및 시간입니다. |
|
연락처의 이름입니다. |
|
연락처가 포함된 데이터베이스의 이름입니다. |
|
연락처가 포함된 스키마의 이름입니다. |
|
연락처에 대한 OWNERSHIP 권한이 있는 역할입니다. |
|
연락처를 설명하는 사용자 지정 문자열(지정한 경우)입니다. |
|
연락처에 대해 OWNERSHIP 권한을 가진 역할의 유형입니다. ROLE, DATABASE_ROLE 또는 APPLICATION (Snowflake Native Apps가 오브젝트를 소유한 경우). |
|
연락처와 연결된 이메일 주소입니다. |
|
연락처와 연결된 URL 입니다. |
|
사용자 이름이 연락처와 연결되어 있는 경우 연결된 사용자 수를 표시합니다. |
|
연락처와 연결된 사용자의 배열입니다. |
액세스 제어 요구 사항¶
SHOW CONTACTS 를 실행하려면 연락처가 포함된 스키마에 대한 USAGE 권한이 필요합니다.
사용법 노트¶
이 명령은 명령을 실행하는 데 사용된 역할에 대한 액세스 권한에 따라 지정된 오브젝트 유형에 대해 최대 1만 개의 레코드를 반환합니다. 필터를 적용하더라도 1만 개 레코드 제한을 초과하는 레코드는 반환되지 않습니다.
10,000개 이상의 레코드가 존재하는 결과를 보려면 Snowflake Information Schema 에서 해당 뷰(있는 경우)를 쿼리하십시오.
예¶
다음 예제에서는 mydb 데이터베이스의 PUBLIC 스키마에서 볼 수 있는 권한이 있는 연락처를 나열합니다.
USE DATABASE mydb;
SHOW CONTACTS;