Articles

PostgreSQL SELECT INTO

Summary: neste tutorial, aprenderá como utilizar o PostgreSQL SELECT INTO declaração para criar uma nova tabela a partir do conjunto de resultados de uma consulta.

Se estiver à procura da forma de seleccionar dados em variáveis, verifique a declaração PL/pgSQL SELECT INTO.

Introdução ao PostgreSQL SELECT INTO declaração

O PostgreSQL SELECT INTO declaração cria uma nova tabela e insere dados retornados de uma consulta na tabela.

A nova tabela terá colunas com os mesmos nomes que as colunas do conjunto de resultados da consulta. Ao contrário de uma declaração regular SELECT, a declaração SELECT INTO não devolve um resultado ao cliente.

O seguinte ilustra a sintaxe do PostgreSQL SELECT INTO declaração:

SELECT select_listINTO new_table_nameFROM table_nameWHERE search_condition;
Code language: SQL (Structured Query Language) (sql)

Para criar uma nova tabela com a estrutura e os dados derivados de um conjunto de resultados, especifica-se o novo nome da tabela após a INTO palavra-chave.

O TEMP ou TEMPORARY a palavra-chave é opcional; permite criar uma tabela temporária em vez disso.

O UNLOGGED a palavra-chave, se disponível, tornará a nova tabela como uma tabela não registada.

O WHERE cláusula permite especificar as linhas das tabelas originais que devem ser inseridas na nova tabela. Além da cláusula WHERE, pode usar outras cláusulas na cláusula SELECT declaração para a SELECT INTO declaração como INNER JOINLEFT JOINGROUP BY, e HAVING.

Nota que não pode utilizar a cláusula SELECT INTO declaração em PL/pgSQL porque interpreta a cláusula INTO de forma diferente. Neste caso, pode utilizar a declaração CREATE TABLE AS que fornece mais funcionalidade do que a SELECT INTO declaração.

PostgreSQL SELECT INTO exemplos

Utilizaremos a tabela film da base de dados de amostras para a demonstração.

PostgreSQL SELECT INTO tabela de amostras

A seguinte declaração cria uma nova tabela chamado film_r que contém filmes com a classificação R e duração do aluguer 5 dias a partir da tabela film.

SELECT film_id, title, rental_rateINTO TABLE film_rFROM filmWHERE rating = 'R'AND rental_duration = 5ORDER BY title;
Code language: SQL (Structured Query Language) (sql)

Para verificar a criação da tabela, pode consultar os dados da tabela film_r:

SELECT * FROM film_r;
Code language: SQL (Structured Query Language) (sql)

A seguinte declaração cria uma tabela temporária chamada short_film que contém os filmes cuja duração é inferior a 60 minutos.

Code language: SQL (Structured Query Language) (sql)

O seguinte mostra os dados da tabela short_film:

SELECT * FROM short_film;
Code language: SQL (Structured Query Language) (sql)

Neste tutorial, aprendeu como utilizar o PostgreSQL SELECT INTO declaração para criar uma nova tabela a partir do conjunto de resultados de uma consulta.

  • Este tutorial foi útil ?
  • Sim Não
  • Deixe uma resposta

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *