Se o serial que vc tera que inserir nao for de nenhuma tabela, vc podera criar 
uma sequencia para fazer isso, e
quando for fazer o insert vc chama a funcao nextval para poder pegar o proximo 
numero dela.

Segue exemplos de criacao de sequencias e tb do insert:

Sequencia:

CREATE SEQUENCE mix0001_seq (onde mix0001_seq representa o nome da sequencia)
  INCREMENT 1 (de quanto em quanto ira inserir)
  MINVALUE 1 (valor minimo)
  MAXVALUE 10999999 (valor maximo)
  START 10082229 (proximo numero)
  CACHE 10 (quantos numeros serao guardados em cache para facilitar a insercao)
  CYCLE; (se estiver em cycle a sequencia ira voltar ao inicio quando o ultimo 
numero for atingido)
ALTER TABLE mix0001_seq OWNER TO postgres;

INSERT:

insert into mix0001 (codigoplu,sequencia) values 
('000123',nextval('mix0001_seq');
onde o nextval chama o proximo numero.

Referencias para consulta no manual do postgres

http://pgdocptbr.sourceforge.net/pg80/sql-createsequence.html 

[]'s

Junior
Database Developer Linux


> Message: 2
> Date: Fri, 17 Aug 2007 14:10:33 -0300
> From: "Erlon" <[EMAIL PROTECTED]>
> Subject: [pgbr-geral] insert com serial?
> To: "Comunidade PostgreSQL Brasileira"
>       <pgbr-geral@listas.postgresql.org.br>
> Message-ID: <[EMAIL PROTECTED]>
> Content-Type: text/plain; charset="iso-8859-1"
> 
> 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.
> -------------- Próxima Parte ----------
> Um anexo em HTML foi limpo...
> URL: 
> http://listas.postgresql.org.br/pipermail/pgbr-geral/attachments/20070817/b574a25f/attachment-0001.htm
>  
> 
> ------------------------------

_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a