Как это работает,
Я выполняю оператор в Oracle ( Update ), используя INNER JOIN , но мне это не удалось. Это код, который я использую:
UPDATE A
SET A.status = '2', target_date=SYSTIMESTAMP
FROM Table_A A INNER JOIN TABLE_B B
ON A.employee_number=B.employee_number and A.course_number=B.course_number
WHERE A.status = '1' and NVL(B.employee_number,'')=''
При выполнении инструкции появляется следующая ошибка:
SQL Error: ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
Я действительно не знаю, что я делаю неправильно. Любое предложение по моей проблеме?
Ваше здоровье
Это UPDATE с синтаксисом JOIN более типично для SQL Server. В Oracle это не поддерживается.
Я не смог проверить это, но это должно быть что-то вроде этого:
Другой вариант:
эта часть NVL(B.employee_number,'')='' кажется мне любопытной, я не знаю, может быть, это вызывает у вас проблемы, и если вы попробуете с B.employee_number, значение null