0
DELETE FROM LIM_STAGE.RESULTS A 
WHERE ROWID > ( SELECT min(1) 
                FROM LIM_STAGE.RESULTS B
                WHERE A.result_number = B.result_number );

このコードは、エラー エラー ORA-00932 を返します: データ型に一貫性がありません: 期待される ROWID が NUMBER になりました

そして、必要な結果を得るためにそれを変更する方法がわかりません。

数字の 1 が別のものであるように思われますが、個々の行番号を実際に確立する方法がわかりません。

これらの重複行を取り除く手助けを感謝します。これは、多くのインデックスとトリガーを含む大きなテーブルです...すべてを書き直すのは嫌です。

助けてくれてありがとう..

4

1 に答える 1

0

これはうまくいくはずです:

delete from lim_stage.results
where rowid not in (
    select min(rowid)
    from lim_stage.results
    group by result_number
)
于 2012-04-23T22:25:18.637 に答える