Insertar datos en una tabla Postgres si los datos no son nulos

dapper postgresql

Pregunta

Estoy usando Expresiones de tabla comunes de Postgres y, de ser posible, insertaría datos en una tabla si los valores en los datos no son nulos:

WITH prod1 AS (
   INSERT INTO p1 ... RETURNING id), 
     prod2 AS (
   INSERT INTO p2 (fk,foo,bar) VALUES (prod1.id,@Foo,@Bar) 
     RETURNING id)

Si los valores @Foo y @Bar equivalen a nulo, ¿es posible que postgres omita la inserción de datos en p2, de lo contrario creará una referencia en blanco? O, ¿tengo que verificar e insertar manualmente según se requiera a través del código?

Respuesta popular

insert into p2 (fk, foo, bar)
select prod1.id, @foo, @bar
from prod1
where @foo is not null or @bar is not null


Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué