我正在使用PostgreSQL 9.5,并想知道是否有可能在ON CONFLICT ON CONSTRAINT语句中包含2个约束的名称。我的sql在下面
INSERT INTO LIVE.TABLE (column1, column2, column3)
SELECT DISTINCT ON (cloumn1) column1, column2, column3
FROM STAGE.TABLE
ON CONFLICT ON CONSTRAINT live.table.pkey DO NOTHING
这工作正常,但我想要做的是在ON CONFLICT ON CONSTRAINT语句中包含第二个约束。我尝试过以下选项,但它似乎对我不起作用。
INSERT INTO LIVE.TABLE (column1, column2, column3)
SELECT DISTINCT ON (cloumn1) column1, column2, column3
FROM STAGE.TABLE
ON CONFLICT ON CONSTRAINT live.table.pkey, live.table.fkey1 DO NOTHING
任何建议将受到高度赞赏。
使用上面的列创建约束,比如
CONSTRAINT live_table_ukey UNIQUE(live.table.pkey, live.table.fkey1)
然后在约束语句的冲突中使用此键。