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

Responder a