Magno Lima escreveu:
Coloquei a questão abaixo em alguns foruns mas até agora nao tive
resposta, alguem pode ajudar?
Tenho duas tabelas simples, com a seguinte estrutura (isto é um exemplo
mais simplificado):
grupo:
id serial; *pk // int
nome varchar;
itens:
id serial; // int
grupo int; *fk
detalhes varchar;
Basicamente a tabela grupo tem uma PK e sua relacionada é a tabela
itens, cujo campo grupo é a fk de tabela grupo.
A duvida basica é justamente saber que técnica utilizo para criar um
grupo novo e a seguir os itens deste grupo, na tabela.
Quando inserir um novo grupo, eu terei automaticamente um valor em ID
(pq é serial), sem precisar recorrer a uma chamada sql para saber o
valor daquele id novo, como irei associar este ID aos itens que devem
ser inseridos.
Para fazer no braço eu iria inserir o nome do novo grupo na tabela,
executar um novo sql e pegar o valor do ID, preencher a tabela itens com
este ID. Rolling Eyes e ai, qual é a técnica real para isto?
Se você acabou de inserir um novo grupo (a qual foi atribuida uma nova
id) então na inserção do item subordinado coloque, como valor do campo
itens.grupo, a função currval(sequencia_id_grupo). Veja mais detalhes em:
http://www.postgresql.org/docs/8.3/interactive/functions-sequence.html
Veja também a FAQ, questões 4.11.x:
http://www.postgresql.org/docs/faqs.FAQ.html#item4.11.1
Osvaldo
___
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral