【发布时间】:2017-08-07 20:38:59
【问题描述】:
我正在寻找类似于以下内容的 SQL 语句:
INSERT INTO some_table
(a, b, c)
VALUES
('a', 'b', 'c')
RETURNING
a
WHERE NOT EXISTS
(
SELECT
some_column
FROM
another_table
WHERE
some_cond='is_true'
);
因为WHERE NOT EXISTS 后面是SELECT FROM 而不是INSERT INTO,所以上面的内容不起作用。只有当另一个表上的 select 语句不返回任何内容时,如何才能插入到表中?
编辑2:
更改了数据库架构以包含其他表上的匹配列,而不是匹配的“待插入”列上的空约束,以使用带有选择的子查询来获得预期的功能并使用 @Isaiah3015 建议的内容。
【问题讨论】:
标签: sql postgresql