如果数据不为null,则将数据插入Postgres表

时间:2017-04-02 21:54:21

标签: postgresql dapper

我使用Postgres的公用表表达式,如果可能的话,如果数据中的值不为空,则会将数据插入表中:

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

如果值@Foo和@Bar等于null,postgres是否可以跳过将数据插入p2,否则它会创建一个空白引用?或者,我是否必须通过代码手动检查并插入?

1 个答案:

答案 0 :(得分:0)

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