아주 간단한 테이블을 만들더라도 잘 생각해야 된다.
귀찮다고 실천하지 않으면 꼭 이 작업을 하게 된다.
반드시 데이터 무결성을 위한 수고를 아끼지 말자.
어쨌든, 중복데이터를 삭제해야 할 일이 생겼다. 물론 테스트 중인 프로세스여서 크게 문제는 없지만..
운영중에 발생했다면 아주 짜증 났을듯.
아래처럼 하자.
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
)
)
'프로그래밍 > DBMS' 카테고리의 다른 글
MSSQL 누적합 구하기 (0) | 2014.07.15 |
---|---|
MSSQL 피벗 사용하기 (0) | 2014.07.10 |
SQL 테이블 목록 확인 및 특정 컬럼 포함 테이블 보기 (0) | 2014.06.23 |
MSSQL 1~100 까지 더미 테이블 생성하고 싶을 때 (0) | 2014.06.09 |
MSSQL 테이블 변경 시, "변경 내용을 저장할 수 없습니다.." 나올 때 (0) | 2014.03.12 |
MSSQL, 테이블 사용중인 프로시져 알아내기 (0) | 2013.12.18 |
MSSQL 플랜캐시 확인 쿼리 (2) | 2013.09.25 |
64bit MSSQL 2008 R2 에서 32bit Oracle DB 링크 걸기 (1) | 2013.08.29 |