2013-01-22 55 views
1

此合併語句引發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); 
+1

您可以在匹配時插入嗎?我認爲你只能在未匹配時插入。 http://www.oracle-base.com/articles/10g/merge-enhancements-10g.php – twoleggedhorse

+0

好問題。對,也許你有權利,我試試吧... 無論如何 - > http:// docs。 oracle.com/cd/B19306_01/server.102/b14200/statements_9016.htm – czupe

+0

生病了,現在可以。請寫下答案,我會投票+接受它!我不知道爲什麼這樣,但我否定了條件,這將是確定的。 – czupe

回答