Я выполняю массовое обновление столбца внутри таблицы. Мне нужно изменить текущую дату с NULL на прошлую дату. Что я знаю, прекрасно работает при выполнении одной учетной записи. Но при использовании WILDCARD это, похоже, терпит неудачу.SQL-UPDATE Команды сбой при использовании LIKE
Любые идеи, что мой вопрос, я не могу использовать как в подзапроса ..
SET message.archived_at = (SELECT TO_CHAR(systimestamp-31, 'DD-MON-YY HH.MI.SS')
FROM dual)
WHERE EXISTS = (SELECT entity_id FROM user_info
WHERE UPPER(user_info.directory_auth_id) like 'USER%')
У меня есть 10000 записей, что мне нужно обновить ..
Я изменил к
ОБНОВЛЕНИЕ сообщение SET message.archived_at = (SELECT TO_CHAR (systimestamp-31, 'DD-MON-YY HH.MI.SS') ОТ двойного) ГДЕ EXISTS (SELECT ENTITY_ID ОТ user_info ГДЕ ВЕРХНИЙ (острая ctory_auth_id), как «JLOADUSER1001%»)
запрос SELECT в разделе WHERE EXISTS при запуске сам по себе возвращает 10 идентификаторов пользователей. Но когда весь запрос запущен, это обновляет 1,8 миллиона строк .. ожидаемый результат ~ 1500 строк.
является user_info.directory_auth_id начиная с USER? Также добавьте ошибку msg .. –
Ошибка SQL: ORA-01427: однострочный подзапрос возвращает более одной строки 01427. 00000 - «однострочный подзапрос возвращает более одной строки» * Причина: * Действие: – Boardman411