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