Em 21-10-2015 12:03, Eduardo Az - EMBRASIS escreveu:
Pessoal,
Pesquisei muito e não entrei da forma que estou procurando.
Imaginem a seguinte situação, muito comum, mas, quero ver se existe alguma solução mais "elegante" que me auxilie.

2 tabelas

tab PEDIDOS

id serial  -> PK
nome_cliente text
dt timestamp
funcionario int


tab PEDIDOS_itens

pedido  int -> PK  (referenciando ID da tabela PEDIDOS)
produto int -> PK
qtde int
valor real

Não vou entrar em questionamento da criação da tabela. É um exemplo.

Sem pensar muito, sigo a seguinte lógica:
-incluo no banco de dados o registro da tab PEDIDOS
-como ID é serial, via select vejo o ultimo registo com o max()
-uso o resultado para incluir os itens na tabela PEDIDOS_itens, junto com o código de produto.

Mudaria um pouco a lógica.
1) select nextval('sua_sequencia') e armazene numa variável por exemplo ultimo_numero; 2) insere na tabela pedidos todos os campos inclusive o campo id = ultimo_numero;
3) insere na tabela pedidos_itens os dados onde pedido = ultimo_numero;


_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a