Gerenciamento de listagens com SQL como consumidor – Exemplos¶
A seguir estão exemplos de tarefas comuns que os consumidores podem concluir programaticamente com comandos SQL:
Visualização das listagens disponíveis¶
Mostra as listagens disponíveis para o consumidor que executa o comando. Para obter mais informações sobre o comando SHOW AVAILABLELISTINGS, consulte SHOW AVAILABLE LISTINGS.
Descrição |
Notas |
---|---|
Mostra as listagens disponíveis. |
Use |
SHOW AVAILABLE LISTINGS
Descrição das listagens disponíveis¶
Após executar SHOW AVAILABLE LISTINGS para identificar as listagens disponíveis e os nomes das listagens globais, um consumidor pode executar DESCRIBE AVAILABLE LISTING para retornar descrições das colunas nas listagens disponíveis para ele. Para obter mais informações sobre o comando DESCRIBE AVAILABLELISTING, consulte DESCRIBE AVAILABLE LISTING.
Descrição |
Notas |
---|---|
Descreva as colunas de listagem. |
Use |
DESCRIBE AVAILABLE LISTING < listing_global_name >
Solicitação de uma listagem e pesquisa automática da disponibilidade¶
Após executar SHOW AVAILABLE LISTINGS para identificar as listagens disponíveis, um consumidor pode usar o procedimento armazenado SYSTEM$REQUEST_LISTING_AND_WAIT
para solicitar uma listagem e pesquisar automaticamente a disponibilidade. Um consumidor também pode usar esse procedimento armazenado quando a coluna is_ready_for_import
for FALSE
. Para obter mais informações sobre o procedimento armazenado SYSTEM$REQUEST_LISTING_AND_WAIT
, consulte SYSTEM$REQUEST_LISTING_AND_WAIT.
Descrição |
Notas |
---|---|
Solicite uma listagem específica e pesquise a disponibilidade. |
Quando uma listagem solicitada se torna disponível ou já está disponível, a mensagem Se o período de tempo limite for excedido, a mensagem Para solicitar uma listagem sem esperar o atendimento da listagem, insira 0 (zero) para o valor |
CALL SYSTEM$REQUEST_LISTING_AND_WAIT( ' <listing_global_name> ' [ , <timeout_mins>. ] );
Criação de um banco de dados a partir de uma listagem¶
Após solicitar uma listagem, um consumidor pode usar o comando CREATE DATABASE … FROM LISTING … para criar um banco de dados a partir de uma listagem. Para obter mais informações sobre o comando CREATE DATABASE … FROM LISTING …, consulte CREATE DATABASE … FROM LISTING ….
Descrição |
Notas |
---|---|
Criação de um banco de dados a partir de uma listagem. |
|
CREATE DATABASE <name> FROM LISTING '<listing_global_name>';
Exemplo de ponta a ponta¶
O exemplo a seguir mostra como usar os comandos SQL descritos acima para gerenciar as listagens como consumidor. O exemplo pressupõe que o consumidor já tenha recebido acesso a uma listagem de dados da COVID-19 denominada GZ1MXZFTF1
e que a listagem esteja disponível na região do consumidor. O exemplo também pressupõe que o consumidor tenha recebido a função sysadmin
, que é necessária para criar um banco de dados a partir de uma listagem.
-- Switch to sysadmin role
USE ROLE sysadmin;
-- Show available listings with a filter for shared listings
-- Note that you can optionally filter for private shared listings using IS_SHARED_WITH_ME = TRUE
-- The example assumes that the response returns a listing with a listing_global_name of GZ1MXZFTF1
SHOW AVAILABLE LISTINGS;
-- Get the global name and title of listings and filter on the title
SELECT "global_name", "title"
FROM TABLE(RESULT_SCAN(LAST_QUERY_ID()))
WHERE "is_imported" = false
AND "title" LIKE '%COVID-19%';
-- Request the listing returned in `SHOW AVAILABLE LISTINGS` and wait for completion
CALL SYSTEM$REQUEST_LISTING_AND_WAIT('GZ1MXZFTF1');
-- Accept legal terms for the listing. Email verification is required to create the database from listing GZ1MXZFTF1
CALL SYSTEM$ACCEPT_LEGAL_TERMS('DATA_EXCHANGE_LISTING', 'GZ1MXZFTF1');
-- Create database from the listing
CREATE DATABASE test_california_covid_import
FROM LISTING 'GZ1MXZFTF1';
-- Use the new database
USE DATABASE test_california_covid_import;
-- Query the 'COVID.CASES' table and limit the results to 100 rows
SELECT * FROM COVID.CASES LIMIT 100;