SHOW OBJECTS

Lista as tabelas e exibições para as quais você tem privilégios de acesso. Este comando pode ser usado para listar as tabelas e exibições de um banco de dados ou esquema especificado (ou o banco de dados/ esquema atual da sessão), ou sua conta inteira.

Sintaxe

SHOW [ TERSE ] OBJECTS [ LIKE '<pattern>' ]
                       [ IN
                             {
                               ACCOUNT                  |

                               DATABASE                 |
                               DATABASE <database_name> |

                               SCHEMA                   |
                               SCHEMA <schema_name>     |
                               <schema_name>
                             }
                       ]
Copy

Parâmetros

TERSE

Retorna apenas um subconjunto das colunas de saída:

  • created_on

  • name

  • kind

  • database_name

  • schema_name

Padrão: sem valor (todas as colunas são incluídas na saída).

LIKE 'pattern'

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%' ...
[ 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 sem db_name e nenhum banco de dados estiver em uso, a palavra-chave não terá efeito sobre a saída.

SCHEMA, . SCHEMA schema_name, . 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 o schema_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).

Notas de uso

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

  • O comando retorna um máximo de 10 mil registros para o tipo de objeto especificado, como ditado pelos privilégios de acesso para a função usada para executar o comando; quaisquer registros acima do limite 10 mil não são retornados, mesmo com um filtro aplicado.

    Para visualizar resultados para os quais existem mais de 10.000 registros, consulte a visualização correspondente (se houver) em 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.

  • Para exibições materializadas, isto retorna “VIEW”, e não “MATERIALIZED VIEW”.

Exemplos

Mostrar todas as tabelas e exibições cujos nomes começam com line que você tem privilégios para ver no esquema public no banco de dados mydb:

SHOW OBJECTS LIKE 'line%' IN mydb.public;
Copy