SHOW DATABASE ROLES

지정된 데이터베이스의 모든 데이터베이스 역할을 나열합니다.

중요

활성 데이터베이스에 대한 권한(예: USAGE)이 부여된 활성 역할을 가진 사용자는 데이터베이스의 데이터베이스 역할을 나열할 수 있습니다. 하지만 이것이 꼭 사용자가 역할을 통해 데이터베이스 역할을 사용하여 SQL 작업을 수행할 수 있다는 의미는 아닙니다. 데이터베이스 역할을 사용하려면 먼저 사용자가 사용자 세션에서 활성화할 수 있는 계정 역할이나 계층 구조에서 더 낮은 계정 역할에 데이터베이스 역할을 부여해야 합니다.

이는 임의적 액세스 제어와 역할 기반 액세스 제어의 일부입니다. 자세한 내용은 액세스 제어의 개요 섹션을 참조하십시오.

참고 항목:

SHOW GRANTS , CREATE DATABASE ROLE , ALTER DATABASE ROLE , DROP DATABASE ROLE

구문

SHOW DATABASE ROLES IN DATABASE <name>
  [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

필수 매개 변수

name

데이터베이스의 이름을 지정합니다.

이름 식별자를 지정하지 않으면 이 명령을 실행할 때 오류가 반환됩니다.

선택적 매개 변수

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' 는 결과를 반환합니다(입력 문자열과 일치하는 행이 있는 경우).

사용법 노트

  • 이 명령은 특정 데이터베이스의 데이터베이스 역할 표시만 지원합니다.

    이 명령을 사용하여 계정의 데이터베이스 역할을 표시할 수 없습니다.

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

  • 이 명령의 출력을 사후 처리하려면 출력을 쿼리할 수 있는 테이블로 처리하는 RESULT_SCAN 함수를 사용하면 됩니다.

db_role2 라는 첫 번째 데이터베이스 역할 다음에 mydb 라는 데이터베이스에서 최대 10개의 데이터베이스 역할을 반환합니다.

SHOW DATABASE ROLES IN DATABASE mydb LIMIT 10 FROM 'db_role2';
Copy