SSISO Community

시소당

[DB2] DB2에서 테이블 생성 및 컴럼 추가, 수정하기

[DB2] DB2에서 테이블 생성 및 컴럼 추가, 수정하기
http://blog.paran.com/woogigi/24247997

 

이번에는 DB2에서 테이블을 생성하고.......생성된 컬럼을 추가 및 삭제하는 것을 정리해 보겠습니다..

 

1. DB2 셋팅하는 방법은 시스템 마다 다르기 때문에 생략 하도록 하겠습니다.

 

2. ORACLE이나 MS-SQL을 사용하다 DB2를 사용하니 기능이 좀 떨어 지네요...

 

3. 테이블 생성하기....DB2에서는 UTF-8을 사용하기 위하여 .... 설정하여야 하는 것이 있습니다.

   자세한 설명은 저도 모릅니다...그냥 쿼리를 가져가 사용하시면 될 듯...

   cf) 같은 사용자라고 하더라도 UTF-8/EUC-KR 형태가 다른 테이블은 조인이 되지 않습니다....^^;;;;; (<------몰라 한참을 고생하였습니다.)

 

4. 테이블 생성

    1) 테이블 스페이스 잡기

        CREATE TABLESPACE WOOGIGI_TABLESPACE_NAME IN SYSTEM_TABLESPANE_NAME
        USING STOGROUP   TABLESPANE_NAME        
                  PRIQTY     1000         
                  SECQTY     100          
                  BUFFERPOOL BP32K        
                  CCSID      UNICODE      
                  LOCKSIZE   ANY          
                  LOCKMAX SYSTEM          
                  CLOSE NO ;  

 

    2) 테이블 생성

        CREATE TABLE WOOOGIGI_TABLE_NAME (
                     AQ0001_SEQ          INTEGER             NOT NULL,
                     AQ0001_CODE         VARCHAR(4)          NOT NULL,
                     AQ0001_TITLE        VARCHAR(100)        NOT NULL,
                     AQ0001_USERID       VARCHAR(14)                 ,
                     AQ0001_USERNM       VARCHAR(30)                 ,
                     AQ0001_JIGUMCD      VARCHAR(10)                 ,
                     AQ0001_JIGUMNM      VARCHAR(20)                 ,
                     AQ0001_TEAMCD       VARCHAR(10)                 ,
                     AQ0001_TEAMNM       VARCHAR(100)                ,
                     AQ0001_DATE         VARCHAR(8)                  ,
                     AQ0001_CONTENT      VARCHAR(1000)               ,
                     AQ0001_CHECK        VARCHAR(1)                  ,
                     AQ0001_GUBUN        VARCHAR(1)                  ,
                     PRIMARY KEY (AQ0001_SEQ, AQ0001_CODE)
        )
        IN SYSTEM_TABLESPANE_NAME.WOOGIGI_TABLESPACE_NAME        DATA CAPTURE NONE
            AUDIT NONE
            CCSID UNICODE;

 

    3) 인덱스 설정하기 (요놈도 정말 속을 썩였지요...ㅠ.ㅠ)

        <---- PRIMARY KEY 설정할 때 하나를 설정하면 위같이 하면 되지만...2개 이상일때는

                 이부분을 처리해 주어야 정상정으로 테이블을 인식합니다.....ㅎㅎㅎ

       CREATE TYPE 2 UNIQUE INDEX SYSTEM_TABLESPANE_NAME.WOOGIGI_TABLESPACE_NAME   ON WOOOGIGI_TABLE_NAME 
                    (AQ0001_SEQ        ASC,                  
                     AQ0001_CODE       ASC)                 
                     USING  STOGROUP QAG01                  
                     PRIQTY     500                  
                     SECQTY      30                  
                     ERASE      NO                   
                     CLOSE      NO                   
                     FREEPAGE   10                   
                     PCTFREE    10                   
                     CLUSTER;     

 

5. 요기까지 하시면.....테이블 생성해서 사용이 가능합니다.

 

6. 만약 컬럼을 추가하였을 시.......두~둥~~~

   ALTER TABLE [WOOGIGI_TABLE_NAME] ADD [AQ0001_TEST] VARCHAR(10);

 

7. 어라 컬럼을 수정하여야 겠네......ㅎㅎㅎㅎ 

   ALTER TABLE [WOOGIGI_TABLE_NAME] ALTER [AQ0001_TEST] SET DATA TYPE VARCHAR(100);

 

9. 수정된 컬럼 적용하기

    REORG TABLE [WOOGIGI_TABLE_NAME];

7054 view

4.0 stars