Re: [Dúvida] Como criar um g atilho para o pk auto-incrementar (postgres)
"Leonardo Duval" <[email protected]>
| Newsgroups | gmane.comp.db.bancosdedados |
|---|---|
| Message-ID | <[email protected]> |
Olá,
O que o pessoal quis te explicar é que o Postgres tem um recurso chamado
"Sequence" que funciona quase como autoincrement. Para entender melhor segue
o exemplo de como criar um "Sequence"
CREATE SEQUENCE seq_cid_id
INCREMENT 1
MINVALUE 1
MAXVALUE 9223372036854775807
START 5458
CACHE 1;
ALTER TABLE seq_cid_id OWNER TO postgres;
O código acima cria um sequence chamado seq_cid_id que incrementa de 1 em 1
començando pelo valor 1. Quando tu criar uma tabela se cria a PK
referenciando este sequence... segue o exemplo:
CREATE TABLE tbl_geral_cid
(
cid_id tp_id NOT NULL DEFAULT nextval(('seq_cid_id'::text)::regclass),
est_id tp_id NOT NULL,
cid_nome tp_nome_50 NOT NULL
)
WITH (OIDS=TRUE);
ALTER TABLE tbl_geral_cid OWNER TO postgres;
No código acima tem o sql para criar uma tabela, sendo que a chave primaria
"cid_id" referencia o sequence ("nextval(('seq_cid_id'::text)")
Não vejo a necessidade de criar um gatilho para incrementar uma pk, acho que
tu deves somente fazer uma chamada no sequence.
Espero que tenha ajudado.
Abraço
Leonardo de Barros Duval
2008/8/22 Claudio de Taunay <claudiotaunay-/E1597aS9LRfJ/[email protected]>
> Explica melhor, eu não entendi exatamente o que você deseja.
> Jonny Marques escreveu:
>
> >
> > 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.
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
--
Att,
Leonardo de Barros Duval
Fone 55 51 84153115
[As partes desta mensagem que não continham texto foram removidas]