DROP ROLE

Remove a função especificada do sistema.

Consulte também:

CREATE ROLE , ALTER ROLE , SHOW ROLES

Sintaxe

DROP ROLE [ IF EXISTS ] <name>
Copy

Parâmetros

name

Especifica o identificador da função a ser descartada. Se o identificador contiver espaços ou caracteres especiais, toda a cadeia de caracteres deverá ser delimitada por aspas duplas. Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.

Notas de uso

  • As funções descartadas não podem ser recuperadas; elas devem ser recriadas.

  • Uma função não pode ser descartada se tiver o privilégio OWNERSHIP em um banco de dados compartilhado. Use o comando GRANT OWNERSHIP para transferir primeiro o privilégio OWNERSHIP no banco de dados compartilhado e depois descartar a função.

  • A propriedade de qualquer um dos objetos da função descartada é transferida para a função que executa o comando DROP ROLE. Para transferir a propriedade de cada um desses objetos para uma função diferente, use GRANT OWNERSHIP … COPY CURRENT GRANTS.

  • Se uma função tem um privilégio futuro como concessor ou cessionário, a função só pode ser descartada por um usuário com uma função que tenha o privilégio MANAGE GRANTS.

  • Todas as concessões atuais e futuras que nomeiam a função como concessor ou cessionário da concessão são removidas quando a função é descartada.

    Consultar a exibição GRANTS_TO_ROLES do Account Usage para recuperar as concessões de privilégios que nomeiam uma função específica como o concedente ou o cessionário:

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

    O exemplo a seguir recupera as concessões onde myrole é o concessor ou cessionário:

    SELECT *
      FROM snowflake.account_usage.grants_to_roles
      WHERE grantee_name = upper('myrole') OR granted_by = upper('myrole');
    
    Copy
  • Se uma função é uma concessora de funções para os usuários, o descarte da função revoga estas concessões automaticamente.

Exemplos

DROP ROLE myrole;
Copy