Thanks to visit codestin.com
Credit goes to docs.snowflake.com

DROP DATABASE ROLE

시스템에서 지정된 데이터베이스 역할을 제거합니다.

SQL 외에도 Snowflake REST APIs, Snowflake Python APIs, Snowflake CLI 같은 다른 인터페이스를 사용할 수도 있습니다 . 대체 인터페이스 섹션을 참조하십시오.

참고 항목:

CREATE DATABASE ROLE , ALTER DATABASE ROLE , SHOW DATABASE ROLES

구문

DROP DATABASE ROLE [ IF EXISTS ] <name>
Copy

매개 변수

name

데이터베이스 역할의 식별자(즉, 이름)를 지정하며, 역할이 생성되는 데이터베이스에서 고유해야 합니다.

식별자는 알파벳 문자로 시작해야 하며 전체 식별자 문자열을 큰따옴표(예: "My object")로 묶지 않는 한 공백이나 특수 문자를 포함할 수 없습니다. 큰따옴표로 묶인 식별자도 대/소문자를 구분합니다.

식별자가 db_name.database_role_name 형식으로 정규화되지 않은 경우 이 명령은 세션의 현재 데이터베이스에서 데이터베이스 역할을 찾습니다.

사용법 노트

  • 삭제된 데이터베이스 역할은 복구할 수 없으며, 다시 만들어야 합니다.

  • 삭제된 데이터베이스 역할이 소유한 모든 오브젝트의 소유권은 DROP DATABASE ROLE 명령을 실행하는 역할로 이전됩니다. 이러한 각 오브젝트의 소유권을 다른 데이터베이스 역할로 이전하려면 GRANT OWNERSHIP … COPY CURRENT GRANTS 를 사용하십시오.

  • 데이터베이스 역할이 부여자 또는 피부여자로서 향후 권한을 가진 경우 MANAGE GRANTS 권한이 있는 데이터베이스 역할을 가진 사용자만 이 역할을 삭제할 수 있습니다.

  • IF EXISTS 절이 지정되고 대상 오브젝트가 존재하지 않는 경우 이 명령은 오류를 반환하지 않고 성공적으로 완료됩니다.

  • 부여자 또는 피부여자로서 데이터베이스 역할의 이름을 지정하는 현재 권한과 향후 권한의 부여는 전부 해당 데이터베이스 역할을 삭제할 때 제거됩니다.

    GRANTS_TO_ROLES Account Usage 뷰를 쿼리하여 지정된 데이터베이스 역할을 부여자 또는 피부여자로 지정하는 권한 부여를 검색합니다.

    SELECT *
      FROM snowflake.account_usage.grants_to_roles
      WHERE grantee_name = upper('<database_name>.<db_role_name>') OR granted_by = upper('<database_name>.<db_role_name>');
    
    Copy

    다음 예에서는 d1.dr1 이 부여자 또는 피부여자인 권한 부여를 검색합니다.

    SELECT *
      FROM snowflake.account_usage.grants_to_roles
      WHERE grantee_name = upper('d1.dr1') OR granted_by = upper('d1.dr1');
    
    Copy

DROP DATABASE ROLE d1.dr1;
Copy

대체 인터페이스