0
我在將表與集合合併時遇到問題。 假設我有一個表emp。PL/SQL MERGE使用集合
這是我的PL/SQL代碼片段。
TYPE empcol is table of emp%ROWTYPE INDEX BY BINARY_INTEGER;
tmpemp empcol;
-- Code here to load data from a CSV file into tmpemp collection
-- tmpemp(1).emp_id := parsedstring
-- etc.
MERGE INTO emp A using tmpemp B ON A.emp_id = B.emp_id
WHEN MATCHED THEN UPDATE SET A.fname = B.fname, A.lname = B.lname
WHEN NOT MATCHED THEN INSERT (emp_id, fname, lname) VALUES (b.emp_id, b.fname, b.lname);
編譯器不喜歡它。它的拋出ORA-0942 - 表或視圖不存在。 我在做什麼錯?或者我怎樣才能做得更好。 非常感謝您提供的任何幫助。
1)哪一個不喜歡? TYPE還是MERGE? 2)是否存在表'emp'? –
表emp存在。它不喜歡MERGE中的tmpemp。 –
是否在數據庫級別聲明瞭「type empcol」?例如。 '創建或替換類型empcol爲...'。如果您想在SQL中使用它,則需要在數據庫模式中全局聲明類型。 – ThinkJet