你好,我不知道爲什麼發生這種情況,但我想,以執行合併使用參數化查詢錯誤ORA-00904「invalide indentifier」當使用「合併到」與參數化查詢
如果我運行硬編碼值查詢查詢精運行:
MERGE INTO MyTable e
USING (with cte(id, name,date) as
(select * from (select 10,'Tester','2013-05-08' from dual union
select 11,'Tester2','2015-05-08' from dual union
select 12,'Tester3'','2015-05-09' from dual union
select 13,'Tester4'','2015-05-09' from dual
))select * from cte) S
ON (e.id = S.id)
WHEN MATCHED THEN UPDATE SET prefixName = S.name,lastModi=S.date
然而,當我執行這個參數化查詢,當我分配相應的值我在日期1列得到一個ORA-00904錯誤
MERGE INTO MyTable e
USING (with cte(id, name,date) as
(select * from (select :id1,:name1,:date1 from dual union
select :id2,:name2,:date2 from dual union
select :id3,:name3,:date3 from dual union
select :id4,:name4,:date4 from dual
)) select * from cte) S
ON (e.id = S.id)
WHEN MATCHED THEN UPDATE SET prefixName = S.name,lastModi=S.date
有人可以幫我解決這個問題。
感謝
基於文檔,它期望在那裏的字段名稱。你可以試試我別稱那種表情嗎?或者創建更多表達式?例如:'''||:date1 as datefield'? –