当主键匹配且没有处于活动状态 'Y' 的行时,我想要执行以下操作:插入记录。这种情况是否可能?我已经尝试了以下方法:
我希望这样更清晰明了。
编辑:算了,不可能的,我刚刚收到了这个错误信息:MERGE语句的'WHEN MATCHED'子句中不允许使用INSERT类型的操作。
-- Merge statement
MERGE INTO table1 AS DST
USING table2 AS SRC
ON (SRC.Code = DST.Code)
--Existing records updated if data changes
WHEN MATCHED
AND IF NOT EXISTS (WHERE active='Y' FROM table1 )
THEN
INSERT INTO table1 (colum)
SELECT value
+-------+-------------+--------+
| Code | description | Active |
+-------+-------------+--------+
| AB | just | |
| | something | No |
+-------+-------------+--------+
只有在没有与相同代码的活动记录时,我才想插入一条记录。新记录的样子如下:
+-------+-------------+--------+
| Code | description | Active |
+-------+-------------+--------+
| AB | something | |
| | else | YES |
+-------+-------------+--------+
我希望这样更清晰明了。
编辑:算了,不可能的,我刚刚收到了这个错误信息:MERGE语句的'WHEN MATCHED'子句中不允许使用INSERT类型的操作。