SHOW VIEWS¶
Lista as exibições, incluindo exibições seguras, para as quais você tem privilégios de acesso. O comando pode ser usado para listar exibições para o banco de dados ou esquema atual/especificado, ou em toda a sua conta.
A saída retorna metadados e propriedades de exibição, ordenados lexicograficamente pelo nome do banco de dados, esquema e exibição. Isso é importante se você deseja filtrar os resultados usando os filtros fornecidos.
- Consulte também:
ALTER VIEW , CREATE VIEW , DROP VIEW , DESCRIBE VIEW
Exibição VIEWS (Information Schema)
Sintaxe¶
SHOW [ TERSE ] VIEWS [ LIKE '<pattern>' ]
[ IN { ACCOUNT | DATABASE [ <db_name> ] | [ SCHEMA ] [ <schema_name> ] } ]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
Parâmetros¶
TERSE
Opcionalmente, retorna apenas um subconjunto das colunas de saída:
created_on
name
kind
database_name
schema_name
Padrão: sem valor (todas as colunas estão incluídas na saída)
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 ACCOUNT | [ DATABASE ] db_name | [ SCHEMA ] schema_name
Especifica opcionalmente o escopo do comando, que determina se o comando lista registros apenas para o banco de dados ou esquema atual/especificado ou em toda a sua conta:
A palavra-chave
DATABASE
ouSCHEMA
não é necessária; você pode definir o escopo especificando apenas o banco de dados ou o nome do esquema. Da mesma forma, o banco de dados ou o nome do esquema não é necessário se a sessão tiver um banco de dados em uso atualmente:Se
DATABASE
ouSCHEMA
for especificado sem um nome e a sessão não tiver atualmente um banco de dados em uso, o parâmetro não terá efeito sobre a saída.Se
SCHEMA
for especificado com um nome e a sessão não tiver atualmente um banco de dados em uso, o nome do esquema deverá ser totalmente qualificado com o nome do banco de dados (por exemplo,testdb.testschema
).
Padrão: depende se a sessão tem ou não um banco de dados em uso no momento:
Banco de dados:
DATABASE
é o padrão (ou seja, o comando retorna os objetos nos quais você tem privilégios para visualizar no banco de dados).Sem banco de dados:
ACCOUNT
é o padrão (ou seja, o comando retorna os objetos que você tem privilégios de visualização em sua conta).
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.
O valor de
LIMIT rows
não pode exceder10000
. SeLIMIT rows
for omitido, o comando resulta em um erro se o conjunto de resultados for maior que 10.000 linhas.Para visualizar os resultados para os quais existem mais de 10.000 registros, incluir
LIMIT rows
ou consultar a exibição correspondente no Snowflake Information Schema.
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.
Por projeto, a saída do comando inclui exibições seguras, mas não fornece certas informações sobre essas exibições, a menos que você esteja usando a função proprietária da exibição. Para visualizar os detalhes de uma exibição segura, você deve usar a função proprietária da exibição ou usar a exibição VIEWS no Information Schema.
A saída deste comando pode incluir objetos com nomes como
SN_TEMP_OBJECT_<n>
(onde<n>
é um número). Estes são objetos temporários criados pela biblioteca Snowpark em nome do usuário.
Saída¶
A saída do comando fornece propriedades de exibição e metadados nas seguintes colunas:
Coluna |
Descrição |
---|---|
criado_em |
O carimbo de data/hora em que a visualização foi criada. |
nome |
O nome da exibição. |
reservado |
(Reservado para uso futuro). |
kind |
O tipo de exibição, |
nome_do_banco_de_dados |
O nome do banco de dados no qual existe a exibição. |
nome_do_esquema |
O nome do esquema em que a exibição existe. |
proprietário |
O proprietário da exibição. |
comentário |
Comentário opcional. |
texto |
O texto do comando que criou a exibição (por exemplo, CREATEVIEW …). |
é_seguro |
Verdadeiro se a exibição for segura; caso contrário, falso. |
é_materializado |
Verdadeiro se a exibições for uma exibição materializada; caso contrário, falso. |
owner_role_type |
O tipo de função que possui o objeto, |
rastreamento_alteração |
Qualquer um dos dois: |
Exemplos¶
Mostrar todas as exibições cujos nomes começam com line
que você tem privilégios para ver no esquema mydb.public
:
SHOW VIEWS LIKE 'line%' IN mydb.public; +-------------------------------+---------+----------+---------------+-------------+----------+---------+-------------------------------------------------------+-----------+-----------------+-----------------+-----------------+ | created_on | name | reserved | database_name | schema_name | owner | comment | text | is_secure | is_materialized | change_tracking | owner_role_type | +-------------------------------+---------+----------+---------------+-------------+----------+---------+-------------------------------------------------------+-----------+-----------------+-----------------+-----------------+ | 2019-05-24 18:41:14.247 -0700 | liners1 | | MYDB | PUBLIC | SYSADMIN | | create materialized views liners1 as select * from t; | false | false | on | ROLE | +-------------------------------+---------+----------+---------------+-------------+----------+---------+-------------------------------------------------------+-----------+-----------------+-----------------+-----------------+