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 colocada entre aspas simples e faz distinção entre letras 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 colocada entre aspas simples e faz distinção entre letras 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'e- STARTS 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 por- STARTS 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¶
- Se você especificar - CLASS, somente as seguintes colunas serão retornadas:- | created_on | name | comment |
- O comando não precisa de um warehouse em funcionamento para ser executado. 
- O comando retorna apenas objetos para os quais a função atual do usuário atual recebeu pelo menos um privilégio de acesso. 
- O privilégio de acesso MANAGE GRANTS permite implicitamente que seu titular consulte todos os objetos da conta. Por padrão, somente o administrador de conta (usuários com a função ACCOUNTADMIN) e o administrador de segurança (usuários com a função SECURITYADMIN) têm o privilégio MANAGE GRANTS. 
- Para pós-processar a saída deste comando, você pode usar o operador de canal ( - ->>) ou a função RESULT_SCAN. Ambos os constructos tratam a saída como um conjunto de resultados que você pode consultar.- Os nomes das colunas de saída para este comando são gerados em minúsculas. Se você consumir um conjunto de resultados deste comando com o operador de canal ou a função RESULT_SCAN, use identificadores entre aspas duplas para os nomes das colunas na consulta para garantir que eles correspondam aos nomes das colunas na saída que foi verificada. Por exemplo, se o nome de uma coluna de saída for - type, especifique- "type"para o identificador.
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';