У меня возникли проблемы с объединением таблицы с коллекцией. Допустим, у меня есть таблица 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 - Table или View не существует. Что я делаю неправильно? или Как я могу сделать это лучше. Большое спасибо за любую помощь, которую вы можете предоставить.
1) Какой из них не нравится? TYPE или MERGE? 2) присутствует таблица 'emp' вообще? –
таблица emp есть. Ему не нравится tmpemp в MERGE. –
Объявлен ли 'тип empcol' на уровне базы данных? Например. 'create или replace type empcol as ...'. Вам нужно объявить тип глобально в схеме базы данных, если вы хотите использовать его в SQL. – ThinkJet