我在postgresql
中为表[t_1]创建插入规则或触发器时遇到问题该表有四列:c1,c2,c3,c4,id(唯一) 当新记录尝试插入表中时,有以下规则:
例如
c1(非空),c2(null),c3(非空),c4(null)
+
nC1(非空),nC2(非空),nC3(null),nC4(null)
结果
c1,nC2,c3,c4
这是我目前的代码:(仍然没有第三个条件的解决方案)
CREATE RULE "t_1_on_duplicate_ignore" AS ON INSERT TO "t_1"
WHERE EXISTS(SELECT 1 FROM t_1
WHERE (id)=(NEW.id)
DO INSTEAD
(
UPDATE t_1 SET
c1 = CASE
WHEN c1 IS NOT NULL
THEN c1
ELSE NEW.c1
END,
c2 = CASE
WHEN c2 IS NOT NULL
THEN c2
ELSE NEW.c2
END,
c3 = CASE
WHEN c3 IS NOT NULL
THEN c3
ELSE NEW.c3
END
WHERE id = NEW.id;
)
答案 0 :(得分:0)
大家好,我想我用以下命令解决了这个问题(至少对我有用):
<loadFromRemoteSources enabled="true" />
有更好的解决方案吗?
答案 1 :(得分:0)