BULLETIN CATEGORY BULLETIN TOPIC |
: SQL*PLUS : 중복된 레코드 삭제방법 |
테이블에 저장된 중복된 레코드를 삭제하는 방법으로 ROWID를 이용할 수 있다. 테이블의 레코드는 각 ROW들의 물리적인 주소에 해당하는 유일한 ROWID를 가지고 있으며, 이 ROWID는 데이타베이스 내부적으로 PSEUDOCOLUMN에 해당되며, 다음과 같은 형태로 구성되어 있다.
SQL > SELECT ROWID, ENAME FROM EMP; ROWID ENAME 위의 예 처럼 ROWID는 ROW를 포함하는 데이타 블럭, ROW를 포함하는 블럭내의 ROW와 ROW를 포함하는 데이타 화일등이 3부분으로 구분되며, HEXADECIMAL로 표현된다. 1) [EMP]테이블을 2개의 DUMMY 테이블로 구성한다. 2) SUB-QUERY에서 [SELECT]문을 통하여 2 테이블에서 동일한 값을 갖는 3) [DELETE]문에서 SUB-QUERY의 MINIUM ROWID보다 큰 ROWID를 삭제한다. SQL > DELETE FROM EMP E |
Oracle Korea Customer Support Technical Bulletins |
'SQL*Plus' 카테고리의 다른 글
특정조건의 순서대로 번호를 부여하는 방법 (0) | 2006.10.30 |
---|---|
Salary가 많은 순서로 1위부터 5위까지 Fetch .. (0) | 2006.10.30 |
SQL*PLUS 기동시 WARNING MESSAGE 처리 (0) | 2006.10.30 |
SQL, SQL*Plus를 사용하여 SQL Scripts를 동적으로 생성,수행. (0) | 2006.10.30 |
DATE TYPE 데이타의 효과적인 처리 방법 (0) | 2006.10.26 |