database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 820 게시물 읽기
No. 820
[질문] 중복 데이타 지우기...부탁드려요
작성자
염준호
작성일
2003-05-27 19:46
조회수
5,472

제가 db를 만지다가 실수로 어떻게 했는지도 모르겠고

 

이렇게 됬어요

 

ex)

123 aaaa 11 sddf fff ggg

123 bbbb 11 desr fff jjj

이렇던게

 

123 aaaa 11 sddf fff ggg

123 aaaa 11 sddf fff ggg

123 bbbb 11 desr fff jjj

123 bbbb 11 desr fff jjj

 

이렇게 변했어요

 

해결방안 없나요????

 

고수님들 부탁드립니다,

이 글에 대한 댓글이 총 2건 있습니다.

오라클이면 가능 하지만 다른 데이타베이스라면 저도...

오라클의 rowid 같은 내용이 있다면 가능.

예)

delete from table a

where rowid > ( select max(rowid) from table b

where a.key01= b.key01

a.key02= b.key02

a.key03= b.key03

a.key04= b.key04

a.key05= b.key05

) 이렇게 하시면 되구요.

다른 데이타베이스라면 - 일단 백업은 필수

방법은 여러가지가 있죠. 가장 손쉬운방법은

파워빌더나 다른툴을 이용해서 자료를 distinct해서 쿼리한 다음 text로 저장하시고 테이블 내용을 지우고 저장된 text를 인포트하시는게 안전하지 않을까요.

alfm님이 2003-05-28 09:26에 작성한 댓글입니다.

윗분 말대로 핵심은 distinct 입니다.

 

text 화일로 만들어 올리기 귀찮으시면

 

select into로 임시테이블을 만들때 데이터를 distinct 해주면 될것 같습니다.

 

예)

select distinct 컬럼명들 into 임시테이블명 from 잘못된테이블명

(테스트 해보지 않아서 잘 될지는 모르겠군요.)

 

이 작업후 두 테이블을 비교해서 임시테이블이 잘 만들어 졌으면 잘못된 테이블을 삭제하시고 임시테이블을 잘못된 테이블명으로 바꾸면 될것 같군요...

김주형님이 2003-05-30 10:52에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
825MS-SQL 7.0 유니코드 관련 질문입니다.
이필용
2003-05-29
4067
823msdb를 backup 받은것을 복원시킬 때 문의 [1]
김병훈
2003-05-28
5056
821[왕초보] 다른 서버에 어떻게 접속하나요? [1]
SQL초보
2003-05-27
4250
820[질문] 중복 데이타 지우기...부탁드려요 [2]
염준호
2003-05-27
5472
819[질문]계정,권한 문제인듯 한데여. [1]
윤준영
2003-05-27
4648
818[질문]서버 이름 변경시...에러 [1]
박용철
2003-05-27
4769
817문자열 안의 싱글쿼터(') 문제 [2]
이희재
2003-05-27
5985
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다