SHOW SEMANTIC VIEWS¶
Lista as exibições semânticas para as quais você tem privilégios de acesso. Você pode listar exibições para o esquema atual ou especificado.
A saída retorna metadados e propriedades da exibição, ordenados lexicograficamente por banco de dados, esquema e nome da exibição semântica. Isso é importante se você deseja filtrar os resultados usando os filtros fornecidos.
- Consulte também:
CREATE SEMANTIC VIEW , DESCRIBE SEMANTIC VIEW , DROP SEMANTIC VIEW
Sintaxe¶
SHOW [ TERSE ] SEMANTIC VIEWS [ LIKE '<pattern>' ]
[ IN
{
ACCOUNT |
DATABASE |
DATABASE <database_name> |
SCHEMA |
SCHEMA <schema_name> |
<schema_name>
}
]
[ STARTS WITH '<name_string>' ]
[ LIMIT <rows> [ FROM '<name_string>' ] ]
Parâmetros¶
TERSE
Retorna apenas um subconjunto das colunas de saída:
created_on
name
kind
O valor da coluna
kind
é sempreSEMANTIC_VIEW
.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 ... ]
Opcionalmente, especifica o escopo do comando. Especifique um dos seguintes:
ACCOUNT
Retorna registros para toda a conta.
DATABASE
, .DATABASE db_name
Retorna registros do banco de dados atual em uso ou de um banco de dados especificado (
db_name
).Se você especificar
DATABASE
semdb_name
e nenhum banco de dados estiver em uso, a palavra-chave não terá efeito sobre a saída.Nota
Usar comandos SHOW sem uma cláusula
IN
em um contexto de banco de dados pode resultar em menos resultados do que o esperado.Os objetos com o mesmo nome são exibidos apenas uma vez se não for usada a cláusula
IN
. Por exemplo, se a tabelat1
estiver emschema1
e a tabelat1
estiver emschema2
e ambas estiverem no escopo do contexto do banco de dados especificado (ou seja, o banco de dados selecionado é o pai deschema1
eschema2
), então SHOW TABLES exibirá apenas uma das tabelast1
.SCHEMA
, .SCHEMA schema_name
Retorna registros do esquema atual em uso ou de um esquema especificado (
schema_name
).SCHEMA
é opcional se um banco de dados estiver em uso ou se você especificar oschema_name
totalmente qualificado (por exemplo,db.schema
).Se nenhum banco de dados estiver em uso, a especificação
SCHEMA
não terá efeito sobre a saída.
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 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'
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).
Saída¶
A saída do comando fornece propriedades de exibição semântica e metadados nas seguintes colunas:
Coluna |
Descrição |
---|---|
|
Data e hora em que a exibição semântica foi criada. |
|
Nome da exibição semântica. |
|
Tipo de exibição. Isso é sempre Essa coluna só aparece na saída se você especificar TERSE. |
|
Banco de dados no qual a exibição semântica é armazenada. |
|
Esquema no qual a exibição semântica é armazenada. |
|
Comentário sobre a exibição semântica. |
|
Função que possui a exibição semântica. |
|
O tipo de função que possui o objeto, por exemplo |
Requisitos de controle de acesso¶
Uma função usada para executar esse comando SQL deve ter pelo menos um dos seguintes privilégios, no mínimo:
Privilégio |
Objeto |
Notas |
---|---|---|
REFERENCES |
Exibição semântica |
|
OWNERSHIP |
Exibição semântica |
OWNERSHIP is a special privilege on an object that is automatically granted to the role that created the object, but can also be transferred using the GRANT OWNERSHIP command to a different role by the owning role (or any role with the MANAGE GRANTS privilege). |
O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema.
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
O comando retorna um máximo de dez mil registros para o tipo de objeto especificado, conforme ditado pelos privilégios de acesso da função usada para executar o comando. Todos os registros acima do limite de dez mil registros não são retornados, mesmo com um filtro aplicado.
Para visualizar os resultados para os quais existem mais de dez mil registros, consulte a exibição correspondente (se houver) em Snowflake Information Schema.
Exemplos¶
O exemplo a seguir lista as exibições semânticas no banco de dados que está em uso no momento:
SHOW SEMANTIC VIEWS;
+-------------------------------+----------------------+---------------+-------------+---------+---------+-----------------+-----------+
| created_on | name | database_name | schema_name | comment | owner | owner_role_type | extension |
|-------------------------------+----------------------+---------------+-------------+---------+---------+-----------------+-----------+
| 2025-04-10 08:29:02.732 -0700 | MY_SEMANTIC_VIEW_1 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:29:21.117 -0700 | MY_SEMANTIC_VIEW_2 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:29:38.040 -0700 | MY_SEMANTIC_VIEW_3 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:47:33.161 -0700 | MY_SEMANTIC_VIEW_4 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:47:46.294 -0700 | MY_SEMANTIC_VIEW_5 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:47:58.480 -0700 | MY_SEMANTIC_VIEW_6 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-02-28 16:16:04.002 -0800 | O_TPCH_SEMANTIC_VIEW | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-03-21 07:03:54.120 -0700 | TPCH_REV_ANALYSIS | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
+-------------------------------+----------------------+---------------+-------------+---------+---------+-----------------+-----------+
O exemplo a seguir inclui apenas um subconjunto das colunas de saída:
SHOW TERSE SEMANTIC VIEWS;
+-------------------------------+-----------------------+---------------+---------------+-------------------+
| created_on | name | kind | database_name | schema_name |
|-------------------------------+-----------------------+---------------+---------------+-------------------|
| 2025-04-10 08:29:02.732 -0700 | MY_SEMANTIC_VIEW_1 | SEMANTIC_VIEW | MY_DB | MY_SCHEMA |
| 2025-04-10 08:29:21.117 -0700 | MY_SEMANTIC_VIEW_2 | SEMANTIC_VIEW | MY_DB | MY_SCHEMA |
| 2025-04-10 08:29:38.040 -0700 | MY_SEMANTIC_VIEW_3 | SEMANTIC_VIEW | MY_DB | MY_SCHEMA |
| 2025-04-10 08:47:33.161 -0700 | MY_SEMANTIC_VIEW_4 | SEMANTIC_VIEW | MY_DB | MY_SCHEMA |
| 2025-04-10 08:47:46.294 -0700 | MY_SEMANTIC_VIEW_5 | SEMANTIC_VIEW | MY_DB | MY_SCHEMA |
| 2025-04-10 08:47:58.480 -0700 | MY_SEMANTIC_VIEW_6 | SEMANTIC_VIEW | MY_DB | MY_SCHEMA |
| 2025-02-28 16:16:04.002 -0800 | O_TPCH_SEMANTIC_VIEW | SEMANTIC_VIEW | MY_DB | MY_SCHEMA |
| 2025-03-21 07:03:54.120 -0700 | TPCH_REV_ANALYSIS | SEMANTIC_VIEW | MY_DB | MY_SCHEMA |
+-------------------------------+-----------------------+---------------+---------------+-------------------+
O exemplo a seguir exibe as exibições semânticas com nomes que têm a cadeia de caracteres tpch
:
SHOW SEMANTIC VIEWS LIKE '%tpch%';
+-------------------------------+----------------------+---------------+-------------+---------+---------+-----------------+-----------+
| created_on | name | database_name | schema_name | comment | owner | owner_role_type | extension |
|-------------------------------+----------------------+---------------+-------------+---------+---------+-----------------+-----------|
| 2025-02-28 16:16:04.002 -0800 | O_TPCH_SEMANTIC_VIEW | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-03-21 07:03:54.120 -0700 | TPCH_REV_ANALYSIS | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
+-------------------------------+----------------------+---------------+-------------+---------+---------+-----------------+-----------+
O exemplo a seguir exibe as exibições semânticas com nomes que começam com MY_SEMANTIC_VIEW
:
SHOW SEMANTIC VIEWS STARTS WITH 'MY_SEMANTIC_VIEW';
+-------------------------------+--------------------+---------------+-------------+---------+---------+-----------------+-----------+
| created_on | name | database_name | schema_name | comment | owner | owner_role_type | extension |
|-------------------------------+--------------------+---------------+-------------+---------+---------+-----------------+-----------|
| 2025-04-10 08:29:02.732 -0700 | MY_SEMANTIC_VIEW_1 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:29:21.117 -0700 | MY_SEMANTIC_VIEW_2 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:29:38.040 -0700 | MY_SEMANTIC_VIEW_3 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:47:33.161 -0700 | MY_SEMANTIC_VIEW_4 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:47:46.294 -0700 | MY_SEMANTIC_VIEW_5 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:47:58.480 -0700 | MY_SEMANTIC_VIEW_6 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
+-------------------------------+--------------------+---------------+-------------+---------+---------+-----------------+-----------+
O exemplo a seguir exibe as três primeiras exibições semânticas com nomes que começam com MY_SEMANTIC_VIEW
:
SHOW SEMANTIC VIEWS STARTS WITH 'MY_SEMANTIC_VIEW' LIMIT 3;
+-------------------------------+--------------------+---------------+-------------+---------+---------+-----------------+-----------+
| created_on | name | database_name | schema_name | comment | owner | owner_role_type | extension |
|-------------------------------+--------------------+---------------+-------------+---------+---------+-----------------+-----------|
| 2025-04-10 08:29:02.732 -0700 | MY_SEMANTIC_VIEW_1 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:29:21.117 -0700 | MY_SEMANTIC_VIEW_2 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:29:38.040 -0700 | MY_SEMANTIC_VIEW_3 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
+-------------------------------+--------------------+---------------+-------------+---------+---------+-----------------+-----------+
O exemplo a seguir exibe as três exibições semânticas com nomes que começam com MY_SEMANTIC_VIEW
após a exibição denominada MY_SEMANTIC_VIEW_3
:
SHOW SEMANTIC VIEWS STARTS WITH 'MY_SEMANTIC_VIEW' LIMIT 3 FROM 'MY_SEMANTIC_VIEW_3';
+-------------------------------+--------------------+---------------+-------------+---------+---------+-----------------+-----------+
| created_on | name | database_name | schema_name | comment | owner | owner_role_type | extension |
|-------------------------------+--------------------+---------------+-------------+---------+---------+-----------------+-----------|
| 2025-04-10 08:47:33.161 -0700 | MY_SEMANTIC_VIEW_4 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:47:46.294 -0700 | MY_SEMANTIC_VIEW_5 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
| 2025-04-10 08:47:58.480 -0700 | MY_SEMANTIC_VIEW_6 | MY_DB | MY_SCHEMA | | MY_ROLE | ROLE | NULL |
+-------------------------------+--------------------+---------------+-------------+---------+---------+-----------------+-----------+