此merge语句引发ORA-00905:缺少关键字异常。会有什么问题呢?WHEN MATCHED分支有什么问题吗?
MERGE INTO WORKERPROJECT TARGET
USING (SELECT distinct
w.worker_id,
w.worker_type,
w.project_id worker_project_id,
p.project_id project_project_id,
p.dedicated_project_leader,
p.dedicated_lead_developer,
p.dedicated_lead_consultant,
p.dedicated_supervisor
from WORKER w
join PROJECT p on w.project_id = p.project_id
) SOURCE
ON (TARGET.FK_worker_id=SOURCE.WORKER_ID)
WHEN MATCHED THEN INSERT (TARGET.FK_WORKER_ID, TARGET.FK_PROJECT_ID,TARGET.IS_ACTIVE,POSITION)
VALUES (SOURCE.WORKER_ID,SOURCE.worker_project_id,'IS_ACTIVE',SOURCE.worker_type);发布于 2013-01-22 17:51:04
根据http://www.oracle-base.com/articles/10g/merge-enhancements-10g.php的说法
仅当不匹配时,才能在上执行插入。
https://stackoverflow.com/questions/14455518
复制相似问题