SHOW ROLES

Lista todas as funções que você pode visualizar em toda a sua conta, incluindo as funções definidas pelo sistema e quaisquer funções personalizadas que existam.

Importante

O Snowflake permite aos usuários listar funções; entretanto, a capacidade de listar funções não é o mesmo que usar qualquer função. O conhecimento dos nomes das funções não permite nenhum acesso adicional.

Isto faz parte do controle de acesso discricionário e controle de acesso baseado em funções. Para obter mais informações, consulte Visão geral do controle de acesso.

Consulte também:

SHOW GRANTS , CREATE ROLE , ALTER ROLE , DROP ROLE

Sintaxe

SHOW ROLES [ LIKE '<pattern>' ]
           [ IN CLASS <class_name> ]
           [ LIMIT <rows> [ FROM '<name_string>' ] ]
Copy

Parâmetros

LIKE 'pattern'

Filtra a saída do comando pelo nome do objeto. O filtro utiliza correspondência de padrão que não diferencia maiúsculas e minúsculas, com suporte para caracteres curinga SQL (% e _).

Por exemplo, os seguintes padrões retornam os mesmos resultados:

... LIKE '%testing%' ...
... LIKE '%TESTING%' ...
IN CLASS class_name

Retorna registros para a classe especificada (class_name).

LIMIT rows [ FROM 'name_string' ]

Opcionalmente, limita o número máximo de linhas retornadas, ao mesmo tempo em que permite a «paginação» dos resultados. O número real de linhas retornadas pode ser inferior ao limite especificado (por exemplo, o número de objetos existentes é menor que o limite especificado).

A subcláusula opcional FROM 'name_string' serve efetivamente como um “cursor” para os resultados. Isso permite obter o número especificado de linhas seguindo a primeira linha cujo nome do objeto corresponde à cadeia de caracteres especificada:

A cadeia de caracteres deve ser delimitada entre aspas simples e há distinção entre maiúsculas e minúsculas. Além disso, a cadeia de caracteres não tem que incluir o nome completo do objeto; nomes parciais têm suporte.

Padrão: sem valor (nenhum limite é aplicado à saída).

Notas de uso

  • O comando não precisa de um warehouse em funcionamento para ser executado.

  • Para pós-processar a saída deste comando, você pode usar a função RESULT_SCAN, que trata a saída como uma tabela que pode ser consultada.

  • Se você especificar CLASS, somente as seguintes colunas serão retornadas:

    | created_on | name | comment |
    

Exemplos

Mostrar todas as funções:

SHOW ROLES;
Copy
---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+
           created_on            |     name      | is_default | is_current | is_inherited | assigned_to_users | granted_to_roles | granted_roles |     owner     |         comment          |
---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+
 Fri, 05 Dec 2014 16:25:06 -0800 | ACCOUNTADMIN  | Y          | Y          | N            | 1                 | 0                | 2             |               |                          |
 Mon, 15 Dec 2014 17:58:33 -0800 | ANALYST       | N          | N          | N            | 0                 | 6                | 0             | SECURITYADMIN | Data analyst             |
 Fri, 05 Dec 2014 16:25:06 -0800 | PUBLIC        | N          | N          | Y            | 0                 | 0                | 0             |               |                          |
 Fri, 05 Dec 2014 16:25:06 -0800 | SECURITYADMIN | N          | N          | Y            | 0                 | 1                | 0             |               |                          |
 Fri, 05 Dec 2014 16:25:06 -0800 | SYSADMIN      | N          | N          | Y            | 5                 | 1                | 2             |               |                          |
---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+

Neste exemplo:

  • A função ACCOUNTADMIN definida pelo sistema é a função atual e a função padrão para o usuário atual (ou seja, logado).

  • Além das quatro funções definidas pelo sistema, foi criada uma função personalizada (ANALYST). A função é de propriedade da função SECURITYADMIN definida pelo sistema.

Retornar até dez funções de conta na conta após a primeira função chamada my_role2:

SHOW ROLES LIMIT 10 FROM 'my_role2';
Copy