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>' ] ]
Copy

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' 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

  • 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';
Copy