Re: [Dúvida] Como criar um gatilho para o pk auto-incrementar (p ostgres)

Claudio de Taunay <claudiotaunay-/E1597aS9LRfJ/[email protected]>
Newsgroups gmane.comp.db.bancosdedados
Message-ID <[email protected]>
Você geralmente usa o sequence no campo id que for primary key.

Leonardo Duval escreveu:
>
> 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] 
> <mailto:claudiotaunay%40yahoo.com.br>>
>
> > 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]
>
>  



[As partes desta mensagem que não continham texto foram removidas]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.