시스템 모니터링하다 데이터가 중복으로 들어오는 걸 발견했습니다. 테이블에 데이터가 중복으로 수천건이 들어오고 있어서 계속 쌓이기전에 빨리 처리하면서 처리한 방법을 팁으로 남겨봅니다. 일단 아래 테이블 양식을 살펴주세요. 제가 사용한 테이블은 시간당 자료를 입력을 받는 테이블이었는데 연계된 하드웨어 특성상 사용자의 의도된 중복된 자료도 넘어올 수 있기에 고유키나 유니크로 설계가 되어 있지 않았습니다. 설계부터가 좀 잘못되어 있었는데 그냥 고칠 수도 없고 중복된 자료나 정리해야죠.. 일반적으로 테이블에 넘어오는 데이터 양식은 아래와 같습니다. TEST 테이블형식예제) SEQ PJCD HOUR MINUTE SECOND CONTENT 1 PJCD001 08 10 15 기록1 2 PJCD002 09 12 07 기..
개발을 진행중에 콘텐츠 내용에 특수문자가 있어서 특정 특수문자를 검색해야 하는 경우가 생겼습니다. 검색구문에 ['] 같은 특수 문자가 들어갔기 때문이죠 보통 특수문자는 정규식 치환처리를 하여 입력을 하지만, 따로 변환처리가 되어있지않아 자료를 검색하기가 곤란한 경우였습니다. 테이블 이름은 TEST, 컬럼은 CONTENT라고 하겠습니다. 테이블을 만들어주시고 내용을 입력해봅니다. CREATE test(contet VARCHAR2(4000)); INSERT INTO test VALUES('1234'abc'456'); 구문대로 적용하면 인서트에서 오류가 생길겁니다. 왜냐하면 싱글따옴표 사용이 잘못되었기 때문이죠. 싱글 따옴표는 문장의 처음과 끝을 완성해야 되는데 처음과 끝이 제대로 구성이 안되어있죠. 사용자가..
테이블을 생성하고 테스트를 할 경우가 생겨서 자료를 밀어넣다보니 넘버링을 할 필요가 생겼습니다. 데이터값은 아래와 같은 형식이었구요. SEQ PJT_CD PJT_NM VALUE P0001 테스트1 10 P0002 테스트2 20 P0003 테스트3 30 P0004 테스트4 40 P0005 테스트5 50 다른 테이블에 있는 데이터를 밀어넣다보니 시컨스를 따로 잡을 필요가 생기더군요. 약간의 삽질을 좀 했습니다. 간단한 방법을 두고 다른 방법을 찾다보니 잔머리만 늘어나네요. 다른테이블의 값을 셀렉트해서 인서트 하려다보니 넘버링을 제대로 하기가 힘들어서 셀렉트할때 지속적으로 증가되는 값을 넣어보려고 다른 방법을 찾아보려 하였습니다. 우선, SEQ 컬럼이 varchar2 형식이라 MAX값이 제대로 표기가 되지 않..