중복데이터 삭제에 대해 문의드립니다... 0 2 2,506

by um..... [2008.09.10 09:02:03]


다름이 아니라 왕초보인 제가 공부를 하고있지만

중복에대해서는 아직 다뤄본일이 많이 없어 질문을 드립니다.

새로운 데이터가 들어올때마다 mdno라는 값이 자동으로 생기게 됩니다. 그 전 보다 큰값으로,

그러나 어제 DB안을 보고 중복데이터가 너무 많다는 것을 느꼈습니다.

똑같은 URL인데 mdno만 값이 다른.. 나중에 들어온 mdno가 큰 값이고 그전의 데이터를 삭제하지 않은 것이지요.

데이터를 삭제할때는 deldate라는 컬럼값을 오늘 날짜로 바꿔줍니다.

deldate='12345678'   ==>    deldate='20080910'   이런식으로요.

제목도 같기는 하지만 들어올때마다 제목은 수정이 되기도 하기때문에 URL로 해주는 것이 제 나름대로의 생각입

니다. 간단하게 나마 설명을 부탁드리고 싶습니다.. 감사합니다.

 

by 마농 [2008.09.10 09:42:52]
배치로는 기존에 삭제되지 않았던 자료를 일괄 갱신해야겠네요.
UPDATE 테이블
SET deldate = TO_CHAR(sysdate,'yyyymmdd')
WHERE deldate = '12345678'
AND ROWID IN
(
SELECT rid
FROM
(
SELECT ROWID rid
, ROW_NUMBER() OVER(PARTITION BY url ORDER BY mdno DESC) rn
FROM 테이블
)
WHERE rn > 1
)
온라인에서는 입력 될때마다 같은 url을 가진 기존 자료의 삭제일자를 업데이트 해줘야겠네요.

by um..... [2008.09.12 09:15:33]
마농님 정말 감사드립니다..
언제나 배우고만 갑니다..
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입