Em Sex, 2015-02-27 às 21:49 -0300, Leandro Guimarães Faria Corcete DUTRA
escreveu:
> Le 27 février 2015 21:44:21 GMT-03:00, Matheus Saraiva 
> <[email protected]> a écrit :
> >A ideia do segundo from era fazer o alias para o retorno do WITH mais
> >externo (chv).
> 
> Continuo sem entender.  Apelino para retorno?  Teu chv é um apelido para um 
> SELECT, certo?  Isso nada tem a ver com dois FROMs num SELECT, o que não faz 
> o menor sentido.  Seria uma junção (JOIN) o que querias?

Isso é uma implementação da sugestão do Matheus Oliveira:

2015-02-25 17:31 GMT-03:00 Matheus Saraiva <[email protected]>:
Correto, vou criar um tipo composto sem o código. Mas sobre pegar os
códigos dos dependentes inseridos, ainda não percebi outra solução além
da minha ideia inicial. Só lembrando que um titular (cliente) pode ter
vários dependentes, então eu terei que ter uma lista com o código de
todos eles para poder inseri-los na tabela "Dependentes".

Ok.

Uma solução simples é usar "wCTE" (Writable Comman Table Expression):

    WITH pessoas AS (
        INSERT INTO pessoas(...)
        SELECT * FROM unnest(...)
        RETURING codigo
    )
    INSERT INTO dependentes(pessoa, titular)
    SELECT p.codigo, cliente
    FROM pessoas p;

Atenciosamente,
-- 
Matheus de Oliveira

_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a