Oracle ORA-01732:此视图上的数据操作不合法

Oracle ORA-01732:此视图上的数据操作不合法,oracle,Oracle,我有这张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 此语句基本上从Excel Formats表中选择

我有这张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
此语句基本上从Excel Formats表中选择要删除的重复行 我如何修改以便您可以使用:

DELETE FROM excelformats
 WHERE rowid not in 
            (SELECT MIN(rowid) 
               FROM excelformats
              GROUP BY key, value, computed); 
这将删除
excelformats
表中的重复行,给出您所述的三个关键列


希望它有助于…

更改为在记录中迭代并逐个删除。