Oracle Technical Bulletins No. 10185 참고..
중복된 RECORD 삭제 방법
================================
중복된 RECORD를 삭제하는 방법은 2가지가 있습니다.
방법1)
SQL> CREATE TABLE emp2 AS SELECT distinct * FROM emp;
SQL> DROP TABLE emp;
SQL> RENAME emp2 TO emp;
방법2) 중복된 데이터중에서 ROWID가 큰 값을 제거
SQL> DELETE FROM emp a
WHERE rowid > (SELECT MIN(ROWID)
FROM emp b
WHERE b.empno = a.empno);
en-core에서 본 白面書生(www.okjsp.pe.kr)님의 글도 참고해서 넣었습니다.
방법2) 나중에 들어온 데이터를 살릴경우
SQL> DELETE FROM emp a
WHERE ROWID < (SELECT MAX(ROWID)
FROM emp b
WHERE a.empno = b.empno);
'DataBase > Oracle' 카테고리의 다른 글
[퍼옴]파티션 테이블의 관리 (0) | 2008.08.08 |
---|---|
[퍼옴]질문과 답변에 올라온 오라클 TIP들 (0) | 2008.08.08 |
제약 조건의 확인 (0) | 2008.08.08 |
[퍼옴]재미있는 SQL문(계층구조 쿼리의 예제) (0) | 2008.08.08 |
유저의 패스워드를 쉽게 바꾸는 방법 (0) | 2008.08.08 |