как обновить все строки, кроме первой? - PullRequest
0 голосов
/ 05 мая 2020

У меня есть этот sql запрос:

update CCUSTOMERINFO set VALIDTO=sysdate where (
select * from (
select row_number() over (order by created desc) rn, customer_id, CCUSTOMERINFO.VALIDTO
from CCUSTOMERINFO
where customer_id=100309772  order by created DESC) where rn > 1);

Но в нем есть ошибка.

Этот запрос возвращает все, что я хочу обновить:

 select * from (
    select row_number() over (order by created desc) rn, customer_id, CCUSTOMERINFO.VALIDTO
    from CCUSTOMERINFO
    where customer_id=100309772  order by created DESC) where rn > 1)

Есть предложения, как я могу это сделать?

1 Ответ

2 голосов
/ 05 мая 2020

Используйте его как показано ниже

  update CCUSTOMERINFO set VALIDTO=sysdate where rowid in (
  select rowid from (
  select row_number() over (order by created desc) rn, customer_id, rowid,
  CCUSTOMERINFO.VALIDTO
  from CCUSTOMERINFO
  where customer_id=100309772  order by created DESC) where rn > 1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...