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

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

  • O comando não precisa de um warehouse em funcionamento para ser executado.

  • O valor de LIMIT rows não pode exceder 10000. Se LIMIT 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, VIEW ou MATERIALIZED_VIEW.

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, ROLE ou DATABASE_ROLE. . Se um Snowflake Native App possuir o objeto, o valor será APPLICATION. . Snowflake retornará NULL se você excluir o objeto porque um objeto excluído não tem função de proprietário.

rastreamento_alteração

Qualquer um dos dois: ON ou OFF. ON indica ativado e você consulta os dados de rastreamento de alterações usando fluxos ou a cláusula CHANGES para instruções SELECT. OFF indica desativado, mas você pode opcionalmente ativar o rastreamento de alterações conforme necessário.

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            |
+-------------------------------+---------+----------+---------------+-------------+----------+---------+-------------------------------------------------------+-----------+-----------------+-----------------+-----------------+
Copy