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:
Sintaxe¶
SHOW [ TERSE ] ROLES
[ LIKE '<pattern>' ]
[ IN CLASS <class_name> ]
[ STARTS WITH '<name_string>']
[ LIMIT <rows> [ FROM '<name_string>' ] ]
Parâmetros¶
TERSE
Retorna apenas um subconjunto de colunas:
is_default
Especifica se a função usada para executar o comando é a função padrão do usuário.
is_current
Especifica se a função usada para executar o comando é a função atual do usuário.
is_inherited
Especifica se a função usada para executar o comando herda a função especificada.
LIKE 'pattern'
Opcionalmente, 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%' ...
. padrão: sem valor (nenhuma filtragem é aplicada à saída).
IN CLASS class_name
Retorna registros para a classe especificada (
class_name
).
STARTS WITH 'name_string'
Opcionalmente, filtra a saída do comando com base nos caracteres que aparecem no início do nome do objeto. A cadeia de caracteres deve ser delimitada entre aspas simples e há distinção entre maiúsculas e minúsculas.
Por exemplo, as seguintes cadeias de caracteres retornam resultados diferentes:
... STARTS WITH 'B' ...
... STARTS WITH 'b' ...
. Padrão: sem valor (nenhuma filtragem é aplicada à saída)
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 menor que o 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.
A cadeia de caracteres não precisa incluir o nome completo do objeto; também é permitido usar nomes parciais.
Padrão: nenhum valor (nenhum limite é aplicado à saída)
Nota
Para comandos SHOW que oferecem suporte às cláusulas
FROM 'name_string'
eSTARTS WITH 'name_string'
, você pode combinar ambas as cláusulas na mesma instrução. No entanto, ambas as condições devem ser cumpridas ou elas se cancelam mutuamente e nenhum resultado é retornado.Além disso, os objetos são devolvidos em ordem lexicográfica por nome, portanto
FROM 'name_string'
só retorna linhas com um valor lexicográfico maior que as linhas retornadas porSTARTS WITH 'name_string'
.Por exemplo:
... STARTS WITH 'A' LIMIT ... FROM 'B'
não retornaria nenhum resultado.... STARTS WITH 'B' LIMIT ... FROM 'A'
não retornaria nenhum resultado.... STARTS WITH 'A' LIMIT ... FROM 'AB'
retornariam resultados (se alguma linha corresponder às cadeias de caracteres de entrada).
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;---------------------------------+---------------+------------+------------+--------------+-------------------+------------------+---------------+---------------+--------------------------+ 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';