Auto incremental

PostgreSQL

10/01/2005

Bom pessoal
Sou novato e gostaria de saber como faço para ter um campo auto incremental neste DB, estive pesquisando no forum e achei algumas coisa para interbase que teria usar trigger. No psql é a mesma coisa...

Sidnei


Sbrianti

Sbrianti

Curtidas 0

Respostas

Bon Jovi

Bon Jovi

10/01/2005

Como no Oracle, vc pode usar SEQUENCE. Exemplo:

CREATE TABLE cliente (id_cliente numeric(15) primary key, nome_cliente varchar(50));

[b:d0b898c419]CREATE SEQUENCE[/b:d0b898c419] sequencial_cliente MINVALUE 1;

INSERT INTO cliente (id_cliente, nome_cliente) VALUES ([b:d0b898c419]nextval(´sequencial_cliente´)[/b:d0b898c419], ´testeA´);
INSERT INTO cliente (id_cliente, nome_cliente) VALUES ([b:d0b898c419]nextval(´sequencial_cliente´)[/b:d0b898c419], ´testeB´);
INSERT INTO cliente (id_cliente, nome_cliente) VALUES ([b:d0b898c419]nextval(´sequencial_cliente´)[/b:d0b898c419], ´testeC´);
SELECT * FROM cliente;

--ou: SELECT nextval(´sequencial_cliente´) as NOVO_ID; pra qdo for o caso de querer pegar o valor antes.

Dê uma olhada na documentação pra mais detalhes: http://www.postgresql.org.

Sobre setar via trigger não acho legal, é mais costume do pessoal do firebird.

[b:d0b898c419][/b:d0b898c419]


GOSTEI 0
Leonardoffsilva

Leonardoffsilva

10/01/2005

No postgresql, basta criar um campo do tipo Serial.


GOSTEI 0
Sbrianti

Sbrianti

10/01/2005

Obrigado pela pela ajuda :D

Sidnei


GOSTEI 0
POSTAR