У меня проблемы с sql-запросом. Мне нужно вставить строку, если такая же строка еще не существует. Вот что у меня получилось:
DECLARE
BEGIN
FOR FOLDER_ROW IN (SELECT FOLDERID, USERID FROM DATA1.FOLDERS)
LOOP
IF NOT EXISTS (SELECT * FROM DATA1.FOLDER_USER WHERE FOLDER_ID = FOLDER_ROW.FOLDERID AND USER_ID = FOLDER_ROW.USERID)
INSERT INTO DATA1.FOLDER_USER (FOLDER_ID, USER_ID) VALUES (FOLDER_ROW.FOLDERID, FOLDER_ROW.USERID);
END LOOP;
COMMIT;
END;
Я не очень хорошо знаком с sql, особенно с синтаксисом not exists, поэтому при выполнении я получаю следующую ошибку:
ORA-06550: line 37, column 11: PLS-00103: Encountered the symbol "INSERT" при ожидании одного из следующих:
then and or
Символ "then" был заменен на "INSERT" для продолжения.
ORA-06550: строка 38, столбец 10: PLS-00103: встретился символ "LOOP", когда ожидалось одно из следующих: if ORA-06550: строка 40, столбец 5: PLS-00103: Встречен символ "end-of-file", когда ожидается одно из следующих: end not pragma final instantiable order overriding static член конструктор карта