Я получил две таблицы:Обновление порядка детской записи
Родительские
| id |
Детский
| id | владелец | Заказать |
владелец является иностранным ключом, ссылающимся на идентификатор родителя. Существует ограничение уникальности на (владелец, ordernr)
Теперь, есть некоторые пробелы в порядке и я пытаюсь исправить их следующим образом:
CREATE OR REPLACE VIEW myView AS
(SELECT childid, ordernr, n
FROM (SELECT child.id as childid, ordernr, ROW_NUMBER() OVER (PARTITION BY parent.id ORDER BY ordernr) AS n
FROM Parent, Child WHERE owner = parent.id)
WHERE ordernr <> n)
UPDATE
(SELECT c.ordernr, n
FROM Child c, myView WHERE childid = c.id) t
SET t.ordernr = t.n
Но я получаю: ORA-01779: не может изменить столбец, который отображает до ключа сохранившихся таблиц, не