EMP와 DEPT 표본 테이블을 위한 작업 테이블 만들기

DSN8C10 .EMPDSN8C10.DEPT 샘플 테이블에서 행을 삽입, 업데이트 및 삭제하는 SQL 문을 테스트하기 전에 이러한 테이블의 복제본을 만들어야 합니다. 원본 샘플 테이블이 그대로 유지되도록 복제본을 만듭니다. 이 중복된 테이블을 작업 테이블 이라고 합니다.

이 타스크에 대한 정보

이 주제는 부서 및 직원 작업 테이블을 만드는 방법과 작업 테이블을 다른 테이블의 내용으로 채우는 방법을 보여줍니다

이 주제들은 각각 여러분이 자신의 인증 ID를 사용하여 로그온했다고 가정합니다. 승인 ID는 생성하는 각 객체의 이름을 한정합니다. 예를 들어, 인증 ID가 SMITH이고 테이블 YDEPT를 생성하면 테이블 이름은 SMITH.YDEPT 입니다. DSN8C10 .DEPT 테이블에 액세스하려면 테이블의 전체 이름을 참조해야 합니다. 자신의 테이블 YDEPT에 액세스하려면 YDEPT를 참조하기만 하면 됩니다.

다음 문장을 사용하여 기존 테이블 인 DSN8C10.DEPT를 모델로 한 새로운 부서 테이블 YDEPT를 만들고 YDEPT에 대한 색인을 만듭니다
CREATE TABLE YDEPT
  LIKE DSN8C10.DEPT;
CREATE UNIQUE INDEX YDEPTX
  ON YDEPT (DEPTNO);
표의 예에서처럼 DEPTNO를 기본 키로 사용하려면 키를 명시적으로 정의하십시오. 다음 예와 같이 ALTER TABLE 문을 사용하십시오
ALTER TABLE YDEPT
  PRIMARY KEY(DEPTNO);
INSERT 문을 사용하면 전체 선택의 결과 테이블 행을 한 테이블에서 다른 테이블로 복사할 수 있습니다. 다음 명령문은 DSN8C10 .DEPT 의 모든 행을 사용자 YDEPT 작업 테이블로 복사합니다.
INSERT INTO YDEPT
  SELECT *
    FROM DSN8C10.DEPT;

INSERT 문 사용에 대한 정보는 INSERT 문을 사용하여 행 삽입을 참고하세요.

다음 문장을 사용하여 YEMP라는 새 직원 테이블을 만들 수 있습니다
CREATE TABLE YEMP
      (EMPNO     CHAR(6)        PRIMARY KEY NOT NULL,
       FIRSTNME  VARCHAR(12)    NOT NULL,
       MIDINIT   CHAR(1)        NOT NULL,
       LASTNAME  VARCHAR(15)    NOT NULL,
       WORKDEPT  CHAR(3)        REFERENCES YDEPT
                                  ON DELETE SET NULL,
       PHONENO   CHAR(4)        UNIQUE NOT NULL,
       HIREDATE  DATE                   ,
       JOB       CHAR(8)                ,
       EDLEVEL   SMALLINT               ,
       SEX       CHAR(1)                ,
       BIRTHDATE DATE                   ,
       SALARY    DECIMAL(9, 2)          ,
       BONUS     DECIMAL(9, 2)          ,
       COMM      DECIMAL(9, 2)          );

이 문장은 또한 YEMP(WORKDEPT)의 외래 키와 YDEPT(DEPTNO)의 기본 키 사이에 참조 제약 조건을 만듭니다. 또한 모든 전화번호를 고유 번호로 제한합니다.

테이블 정의를 생성한 후에 변경하려면 RENAME 절과 함께 ALTER TABLE 문을 사용하십시오. 테이블 이름을 생성한 후에 변경하려면 RENAME 문을 사용하십시오.

ALTER TABLE 문을 사용하여 테이블 정의를 변경할 수 있는 방법은 제한되어 있습니다. 예를 들어, 테이블의 열에 제약 조건을 추가하고 삭제할 수 있습니다. 또한 문자 데이터 유형, 숫자 데이터 유형, 그래픽 데이터 유형 내에서 열의 데이터 유형을 변경할 수 있습니다. 테이블에 열을 추가할 수 있습니다. 그러나 ALTER TABLE 문을 사용하여 테이블에서 열을 삭제할 수는 없습니다.