SELECT INTO

Nome

SELECT INTO -- cria uma tabela a partir dos resultados de uma consulta

Sinopse

SELECT [ ALL | DISTINCT [ ON ( expressão [, ...] ) ] ]
    * | expressão [ AS nome_de_saída ] [, ...]
    INTO [ TEMPORARY | TEMP ] [ TABLE ] nova_tabela
    [ FROM item_do_from [, ...] ]
    [ WHERE condição ]
    [ GROUP BY expressão [, ...] ]
    [ HAVING condição [, ...] ]
    [ { UNION | INTERSECT | EXCEPT } [ ALL ] seleção ]
    [ ORDER BY expressão [ ASC | DESC | USING operator ] [, ...] ]
    [ LIMIT { contador | ALL } ]
    [ OFFSET início ]
    [ FOR UPDATE [ OF nome_da_tabela [, ...] ] ]

Descrição

O comando SELECT INTO cria uma tabela e a carrega com dados computados por uma consulta. Os dados não são retornados para o cliente, como acontece normalmente no comando SELECT. As colunas da nova tabela possuem o mesmo nome e tipo de dado das colunas da saída do comando SELECT.

Parâmetros

TEMPORARY ou TEMP
Quando especificado, a tabela é criada como uma tabela temporária. Consulte o comando CREATE TABLE para obter detalhes.
nova_tabela
O nome (opcionalmente qualificado pelo esquema) da tabela a ser criada.

Todos os outros parâmetros estão descritos detalhadamente no comando SELECT .

Observações

O comando CREATE TABLE AS é funcionalmente semelhante ao comando SELECT INTO. O comando CREATE TABLE AS é a sintaxe recomendada, uma vez que esta forma do comando SELECT INTO não está disponível no ECPG nem no PL/pgSQL, porque estes interpretam a cláusula INTO de forma diferente.

Compatibilidade

O padrão SQL utiliza o comando SELECT ... INTO para representar a seleção de valores colocados dentro de variáveis escalares do programa hospedeiro, em vez de criar uma nova tabela. Esta é a mesma utilização encontrada no ECPG (veja o Capítulo 30 ) e no PL/pgSQL (veja o Capítulo 37 ). A utilização pelo PostgreSQL do comando SELECT INTO para representar a criação de uma tabela é histórica. É melhor utilizar o comando CREATE TABLE AS para esta finalidade nos programas novos.

SourceForge.net Logo