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]> |
Exatamente... Identico ao exemplo que enviei anteriormente... Abraço, Leonardo 2008/8/26 Claudio de Taunay <claudiotaunay-/E1597aS9LRfJ/[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]<claudiotaunay%40yahoo.com.br> > > <mailto:claudiotaunay%40yahoo.com.br <claudiotaunay%2540yahoo.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] > > > -- Att, Leonardo de Barros Duval Fone 55 51 84153115 [As partes desta mensagem que não continham texto foram removidas]