Erlon wrote:
> preciso dar um insert numa tabela colocando conteúdo de outra.
> só que a tabela que vai fornecer o conteúdo não possui um campo código
> sequencial.
> há como fazer algo do tipo.
> insert into tabela select serial, descricao from tabela2;
>
> onde serial teria que ser um número sequencial, não é um campo da tabela 2.
>
Leia sobre sequências [1] no manual.
regression=# create table foo (a int, b float);
CREATE TABLE
regression=# create sequence bar;
CREATE SEQUENCE
regression=# create table baz (s int, a int, b float);
CREATE TABLE
regression=# insert into foo values(1,2.3);
INSERT 0 1
regression=# insert into foo values(10,12.32);
INSERT 0 1
regression=# insert into baz select nextval('bar'),* from foo;
INSERT 0 2
regression=# select * from baz;
s | a | b
---+----+-------
1 | 1 | 2.3
2 | 10 | 12.32
(2 registros)
regression=#
[1] http://www.postgresql.org/docs/8.2/static/sql-createsequence.html
--
Euler Taveira de Oliveira
http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral