Oracle SQL - процедура - вставка в чужую таблицу из собственной таблицы без обновления таблицы - PullRequest
0 голосов
/ 14 января 2020

Проблема - невозможно вставить данные из таблицы собственной схемы в таблицу внешней схемы. Подробности - я пытаюсь вставить последние данные из моей собственной таблицы схемы в таблицу внешней схемы. У меня есть все права на таблицу сторонней схемы. Структура таблиц абсолютно одинакова. Внешняя таблица уже содержит некоторые данные, но мне нужно загрузить инкрементные данные с проверкой на двойственность на основе поля с именем SURVEY_ID. Там нет сообщения об ошибке. Оператор NOT IN (SELECT SURVEY_ID FROM FORG.PROD_CL) каким-то образом затрудняет процесс вставки. Если я уберу это предложение «NOT IN» и упомяну о c SURVEY_ID, загрузка данных произойдет.

Вот код-

BEGIN
INSERT INTO FORG.PROD_CL
SELECT 
RESPONSE_ID,
TO_DATE(TO_CHAR(COMPLETION_DATE)) AS COMPLETION_DATE,
TO_TIMESTAMP(COMPLETION_DATE||TO_CHAR(SUBSTR(COMPLETION_TIME,11,32))) AS COMPLETION_TIME,
Q101,
Q101_LONG,
Q191,
SURVEY_ID,
REP_NAME,
ATOMIC_TS
FROM OWN1.IPROD_CL
WHERE OWN1.IPROD_CL.SURVEY_ID NOT IN (SELECT SURVEY_ID FROM FORG.PROD_CL)
ORDER BY SURVEY_ID;
COMMIT;
END;
/
...