ORA-01732: операция манипулирования данными не является законной в этом представлении

Вопрос: У меня есть это выражение DML.. delete from (select key,value,computed, row_number() OVER (Partition By key, value order by seq asc) as a from excelformats a ) where A > 1 и это бросает ORA-01732: data manipulation operation not legal on this view Этот оператор в основном выбирает повторяющиеся строки из таблицы excelFormats, которые нужно

Вопрос:

У меня есть это выражение DML..

delete from (select key,value,computed, row_number() OVER (Partition By key, value order by seq asc) as a from excelformats a ) where A > 1

и это бросает

ORA-01732: data manipulation operation not legal on this view

Этот оператор в основном выбирает повторяющиеся строки из таблицы excelFormats, которые нужно удалить. Как я могу пересмотреть так, чтобы

Лучший ответ:

Вы можете использовать:

DELETE FROM excelformats WHERE rowid not in (SELECT MIN(rowid) FROM excelformats GROUP BY key, value, computed);

Это приведет к удалению повторяющихся строк в таблице excelformats учетом трех ключевых столбцов, которые вы указали.

Надеюсь, поможет…

Оцените статью
Добавить комментарий