2009년 8월 18일 화요일

DB2_010. UTILITY : LOAD

UTILITY : LOAD                                                                    

 LOAD

  대량의 데이터를 쉽게 테이블에 등록할 수 있는 UTILITY 입니다. 이 유틸리티를 실행하기 위해서는 다음 권한이 요구되어 집니다.

 

SYSADM    DBADM    LOAD

 

 자주 사용하는 파일유형 수정자

  identityignore 

  입력 데이터 파일에 식별 칼럼에 대한 데이터가 들어 있을지라도 데이터를 무시하고 각 행에 대해 식별값을 생성하도록 가져오기 유틸리티(LOAD)에 지정합니다.

 

  ex) 목표 테이블의 레이아웃(LAYOUT)

           번호(INT)  :  GENERATED ALWAYS로 정의된 식별 컬럼

           이름(CHAR(10))

           점수(DECIMAL(4,1))

           클래스(CHAR(1))

 

        소스 데이터

           2,Robert,45.2,J

           1,Mike,76.9,K

           3,Leo,23.4,I

 

  일련번호로 자동 생성된 번호 (1,2,3)를 제외하고 load 하고자 할 경우 identityignore 수정자를 사용 합니다.

         입력후

           1,Robert,45.2,J

           2,Mike,76.9,K

           3,Leo,23.4,I

 

  usedefault

  목표 테이블 칼럼에 대한 소스 칼럼이 지정되어 있지만, 하나 이상의 행 인스턴스에 대한 데이터가 들어 있지 않으면, 기본값이 입력됩니다.

 

          소스데이터

            2,Robert,45.2,J

            1,,76.9,K

            3,Leo,23.4,I

 

           입력후

             2,Robert,45.2,J

             1,<공백1칸>, 76.9,K

             3,Leo,23.4,I

 

  keepblanks

  CHAR, VARCHAR, LONG VARCHAR 또는 CLOB유형의 각 필드에 앞공백 및 뒷공백을 보존합니다. 이 옵션이 없으면 문자 분리문자 내부에 있지 않는 모든 앞공백 및 뒷공백들은 제거되며 모든 공백필드에 대해 NULL이 삽입됩니다.

 

            소스데이터

              2,Robert,45.2,J

              1,<공백4칸>, 76.9,K

              3,Leo,23.4,I

 

            입력후

              2,Robert,45.2,J

              1,<공백4칸>,76.9,K

              3,Leo,23.4,I

 

  identityoverwrite

  GENERATED ALWAYS로 정의된 식별 칼럼이 로드될 테이블에 존재할 때, Source Data에 있는 값을 그대로 유지하기 위할 경우에 이 수정자를 사용합니다. 이 경우 식별 칼럼에 대한 데이터가 없는 행들은 거부됩니다. (SQL3116W)

 

  dumpfile = path/filename

  거부된 행이 기록될 예외 파일의 경로를 포함한 완전한 이름을 적습니다.

 

 SYNTAX

  LOAD (CLIENT) FROM filename OF filetype MODIFIED BY filetype-mod

               METHOD L(column-start column-end) | N (column-name) | P (column-position)

               SAVEPOINT n                                 //일관성 지점 설정

               ROWCOUNT n                                // DEL 파일에서 n건만 LOAD

               WARNINGCOUNT n                     // n건 이상 에러 경고가 발생시 LOAD 중지

               MESSAGES message-file              // MESSAGE 파일이름

               TEMPFILES PATH temp-path     // Temporary file 생성 위치

               [ INSERT | REPLACE | RESTART | TERMINATE ] INTO table-name (insert-column)

               FOR EXCEPTION table_name     // 예외 발생한 행을 저장할 테이블명

               STATISTICS [YES | NO ]               // RUNSTATS 수행여부

               COPY [ YES | NO ]                           // COPY를 기본적으로 받을 것인지의 여부

               NONRECOVERABLE                      // 이 옵션이 존재하면 LOGGING을 하지 않음

 

  FILETYPE

              ASC    구분자 없는 ASCII 형식

              DEL    구분자 있는 ASCII 형식

              IXF     통합교환 포맷, PCVERSION

 

  INSERT               기존의 데이터를 변경하지 않고, 로드한 데이터를 테이블에 추가

  REPLACE            테이블 내의 기존의 모든 데이터를 삭제하고 난 후 데이터를 테이블에 추가

  TERMINATE     이전에 할당된 로드조작을 종료하고 로드조작이 개시된 시점에서 조작을 롤백

  RESTART           이전에 할당된 로드 조작을 재개시

 

  회사에서 실재 사용했던 LOAD문 예제_____________________________________________________

  LOAD CLIENT FROM jayung01.txt    OF ASC   METHOD L (1 5,7 19,21 58,60 71,73 84,86 90,92 111,113 113)

                              SAVECOUNT 10000  MESSAGES jayung01.MSG REPLACE  INTO TP_TBP00103        nonrecoverable;

댓글 없음:

댓글 쓰기