Oracleクエリを解析し、JOBのSQLを削除します。


重複記録のSQL文1、検索テーブルにおける余分な重複記録を検索し削除し、重複記録は単一のフィールド(peopleId)からselect*from peoplewhere peopleId inを判断する。   peopleId from   people group by   peopleId having count(peopleId)2、削除テーブルに余分な重複記録があり、重複記録は単一フィールド(peopleId)によって判断され、rowidが最小の記録delete from people where peopleId inのみが残る。   peopleId from people group by   peopleId   having count(peopleId)>1)and rowid not in(select min(rowid)from   people group by peopleId having count(peopleId)>1)注:rowidはoracleのために持ってきます。この必要はありません。3、ルックアップテーブルに余分な重複記録(複数のフィールド)select*from vitae awhere(a.peopleId、a.seq)in   (select peopleId,seq from vitae group by peopleId,seq having count(*)>1) 4、表の中の余分な重複記録(複数のフィールド)を削除して、rowid最小の記録delete from vitae awhere(a.peopleId、a.seq)inだけを残します。   (select peopleId、seq from vitae group by peopleId、seq having count(*)>1)and rowid not in(select min(rowid)from vitae group by peopleId、seq having count(*)5)、検索テーブルに余分な記録が含まれます。   (select peopleId、seq from vitae group by peopleId、seq having count(*)>1)and rowid not in(select min)from vitae group by peopleId、seq having count(*)1)(2)は、例えば、このテーブルの中に「name」が存在します。「name」の値は重複する項目があります。Select Name,Count(*)from A Group By Name Having Count(*)1まだ性別も同じ大きさを調べているなら、以下のようになります。Select Name,sex,Count(*)from A Group By Name,sex Having Count(*)1(3)方法はdeclare@max intetederger,@rows cursor local for selectのメインフィールド、count(*)fromテーブル名group byメインフィールドhaving count(*)>1 open cur_ローws fetch cur_ローソンinto@id、@maxwhile@fetch…