Olá pessoal,
Eu queria uma maneira do meu campo PK auto-incrementar via uma trigger (gatilho) ou outro recurso no próprio banco de dados (postgres).
Obrigado antecipadamente.
Olá pessoal,
Eu queria uma maneira do meu campo PK auto-incrementar via uma trigger (gatilho) ou outro recurso no próprio banco de dados (postgres).
Obrigado antecipadamente.
Aconselho usar seqüencias, acredito que vc venha do oracle, veja o PostgreSQL é um banco muito mais completo que este ultimo veja sua documentação:
http://pgdocptbr.sourceforge.net/pg80/index.html
[tradução pt-br da doc oficial]
http://pgdocptbr.sourceforge.net/pg80/ddl-default.html
[Fala dos valores default]
http://pgdocptbr.sourceforge.net/pg80/functions-sequence.html
[Funções de manipulação de seqüencia]
http://pgdocptbr.sourceforge.net/pg80/sql-createsequence.html
[Criação manual de seqüencias]
CREATE TABLE contatos(
codigo bigserial primary key,
nome varchar(32) not null,
fone char(10),
email varchar(64)
);
A versão da documentação é 8.0 mas ele serve muito bem para a versão atual, claro que as particularidades das novas versões não estarão nela, mas ai tem a documentação oficial que pode ser encontrada na www.postgresql.org
Primeiro vc tem que criar uma Sequence
por exemplo:
CREATE SEQUENCE “public”."seqnome"
INCREMENT 1 MINVALUE 1
MAXVALUE 9223372036854775807 START 1
CACHE 1;
Depois na tabela vc tem que adicionar ao valor padrao :
nextval(‘public.seqnome’::text)