본문 바로가기

대용량의 데이터 한꺼번에 테이블에 집어넣기 1. 언제 사용하는가? 특정 프로그램이 여러 로직 처리 및 계산을 해서 특정 테이블에 데이터를 넣는다고 하자. 상황에 따라 특정 프로그램이 구동을 잘못해서 특정 테이블에 입력했던 데이터를 지우고, 프로그램을 통해 다시 입력해야 한다고 하자. 이때 삭제하는 내역은 반드시 여러 형태로 백업을 해놓아야 한다. (csv 파일 형태로 백업을 많이 한다.) 프로그램을 통해 다시 데이터를 입력하는 작업이 제대로 되지 않았을 경우, 백업해놓은 데이터를 다시 테이블에 입력해야 하는데, 그때 사용할 수 있는 유용한 방법이다. 2. 어떻게 사용하는가? 1) 백업할 데이터를 csv 파일로 내린다. 이때 내리는 프로그램에 따라 csv 파일에 테이블 컬럼에 매핑되는 데이터 이외에 row number 등이 추가될 수 있는데, 테이.. 더보기
서버에서 직접 수행한 쿼리 결과를 텍스트 파일로 저장하기 1. 언제 사용하는가?특정 Oracle 서버에 PL/SQL Developer 나 Orange, Toad 와 같은 tool을 이용해 접근이 불가한 경우가 있다.이럴 경우 sqlplus를 이용해 직접 서버에서 쿼리를 수행해야 한다.이때 select 쿼리의 경우, 그 결과가 Terminal 창에 나타나는데, 해당 결과를 텍스트 파일로 내려야 할 때가 있다.아래와 같이 사용한다. 2. 어떻게 사용하는가?1) sqlplus 접속하기sqlplus 계정/패스워드@DB명ex) sqlplus hr/hr@ORCL 2) 쿼리 실행 및 쿼리 결과 저장spool 경로/텍스트파일명.txt@경로/쿼리명.sqlspool off ex) spool ./result.txt terminal 에서 sqlplus에 들어갔던 폴더에 result.. 더보기
특정 기간의 모든 날짜에 대한 데이터 보여주기 특정 기간의 모든 날짜에 대한 데이터 보여줘야 할 때가 있다. 즉, 특정 기간의 모든 날짜에 대해 매핑되는 데이터가 있으면 매핑되는 데이터를 보여주고, 그렇지 않으면 NULL을 보여줘야 할 때가 있다. 아래와 같이 사용한다. SELECT A.HIRE_DATE, B.SUM_SALARY FROM (SELECT TO_CHAR(TO_DATE('20070315', 'YYYYMMDD')+LEVEL-1, 'YYYYMMDD') HIRE_DATE FROM DUAL CONNECT BY LEVEL 더보기