Auto incremental

10/01/2005

0

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

Responder

Posts

11/01/2005

Bon Jovi

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]


Responder

12/01/2005

Leonardoffsilva

No postgresql, basta criar um campo do tipo Serial.


Responder

12/01/2005

Sbrianti

Obrigado pela pela ajuda :D

Sidnei


Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar