본문 바로가기
프로그래밍/DBMS

오라클, 중복 데이터 삭제하기

by zoo10 2014. 4. 1.

아주 간단한 테이블을 만들더라도 잘 생각해야 된다. 

귀찮다고 실천하지 않으면 꼭 이 작업을 하게 된다.

반드시 데이터 무결성을 위한 수고를 아끼지 말자.

어쨌든, 중복데이터를 삭제해야 할 일이 생겼다. 물론 테스트 중인 프로세스여서 크게 문제는 없지만..

운영중에 발생했다면 아주 짜증 났을듯.


아래처럼 하자.


delete from table_a

where rowid in (

select rowid

from

(

select * from

(

select 

ROW_NUMBER() OVER (PARTITION BY key_col_1 ORDER BY  key_col_1) AS num

, key_col_1

from table_a

)

where num >= 2

)

)