본문 바로가기
IT 자료

DB2 PK 생성 및 삭제

by 성곤 2015. 11. 11.
반응형




DB2 PK 생성 및 삭제


PRIMARY KEY를 추가를 하거나 삭제하는 방법은 딱히 어렵지 않다.


나만 어려울뿐.... ㅡㅡ



*해당 블로그는 마우스로 드래그하여 복사할 수 있습니다. 마음대로 쓰세요.

퍼갈 때는 출처 살짝 적어주시구요. :-)






/* 먼저 해당 테이블에 pk가 있는지 확인하는 방법 */

/* CONSTRAINT_NAME 찾기 */


SELECT

  CONSTRAINT_SCHEMA,

  TABLE_NAME,

  CONSTRAINT_NAME,

  CONSTRAINT_TYPE

FROM SYSIBM.TABLE_CONSTRAINTS
    WHERE 1=1
    AND TABLE_NAME = '테이블이름'
    AND CONSTRAINT_TYPE LIKE '%KEY%';



조회를 하게 되면

CONSTRAINT_TYPE 이  PRIMARY KEY 라고 적혀있을 것이다. (PK가 있다면)

TABLE_NAME에 해당 테이블이름이 있고

CONSTRAINT_NAME가 중요하다.


기본적으로 CONSTRAINT_NAME은 테이블에 "테이블_PK"라고 만들어진다.


기존에 테이블에 PK를 삭제하거나 수정할 때,

테이블에 속한 CONSTRAINT_NAME이 필요합니다.







CONSTRAINT_NAME를 찾았으면, 테이블에 있는 PK를 삭제해봅시다.



/* PK 삭제하기 */

/* CONSTRAINT_NAME을 테이블이름_PK라고 정했습니다. */


ALTER TABLE 테이블이름

DROP CONSTRAINT 테이블이름_PK ;







이제는 테이블에 PK를 추가해봅시다



/* PK 추가하기 */


ALTER TABLE 테이블이름

ADD CONSTRAINT 테이블이름_PK

PRIMARY KEY(컬럼이름1, 컬럼이름2, 컬럼이름3);


REORG TABLE 테이블이름 ;


/* REORG TABLE를 하는 이유는 테이블 컬럼 속성이 변하였을 때, 재구성을 하기 위해서 입니다.

필수입니다.

CLEAN UP과 비슷한거죠.*/






*해당 블로그는 마우스로 드래그하여 복사할 수 있습니다. 마음대로 쓰세요.

퍼갈 때는 출처 살짝 적어주시구요. :-)


반응형

'IT 자료' 카테고리의 다른 글

널포인트 역참조 조치하기  (0) 2015.12.02
부적절한 예외처리  (3) 2015.11.23
이클립스 글꼴  (0) 2015.09.03
DB2 한글 length 확인하기  (0) 2015.08.20
DB2 substr 사용하기  (0) 2015.08.20