Я получаю ORA-00928: отсутствует ошибка ключевого слова SELECT при использовании «update» с «with».
Это приводит к ошибке.
with wr_double as
(select...)
update work_request r
set r.name = r.name || '_old'
where exists
(select 1 from wr_double wd
where wd.name = r.name and wd.wr_id = r.id)
Но это работает нормально
with wr_double as
(select...)
select * from work_request r
where exists
(select 1 from wr_double wd
where wd.name = r.name and wd.wr_id = r.id)
Кроме того, если я помещаю свой подзапрос из с в теле обновления, он работает нормально.
update work_request r
set r.name = r.name || '_old'
where exists
(select 1 from
(select
wr.name,
wr.id as wr_id,
dup_wr.count,
d.id as d_id,
d.create_date
from
(select...) wd
where wd.name = r.name and wd.wr_id = r.id)
Могу ли я не использовать «с» таким образом с «обновлением»?