SHOW DATABASE ROLES¶
Lista todas as funções de banco de dados no banco de dados específico.
Importante
Um usuário com qualquer função ativa que tenha recebido qualquer privilégio no banco de dados ativo (por exemplo, USAGE) pode listar as funções de banco de dados no banco de dados. No entanto, isto não significa necessariamente que a função permite aos usuários utilizar as funções de banco de dados para realizar ações de SQL. Para utilizar uma função de banco de dados, é preciso primeiro conceder uma função de conta que os usuários possam ativar em uma sessão de usuário, ou uma função de conta inferior em uma hierarquia.
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 DATABASE ROLE , ALTER DATABASE ROLE , DROP DATABASE ROLE
Sintaxe¶
SHOW DATABASE ROLES IN DATABASE <name>
[ LIMIT <rows> [ FROM '<name_string>' ] ]
Parâmetros obrigatórios¶
name
Especifica o nome do banco de dados.
O comando retornará um erro se você não especificar o identificador de nome.
Parâmetros opcionais¶
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¶
Este comando oferece suporte apenas à exibição de funções de banco de dados em um banco de dados específico.
Você não pode usar este comando para mostrar funções de banco de dados na conta.
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.
Exemplo¶
Retornar até dez funções de banco de dados no banco de dados denominado mydb
após a primeira função de banco de dados denominada db_role2
:
SHOW DATABASE ROLES IN DATABASE mydb LIMIT 10 FROM 'db_role2';