制約のコピーの例

以下の例では、異種のデータベース間で制約をコピーする際に生成される DDL を示します。

生成された DDL は、「データベース・オブジェクトの貼り付け」ウィザードの 「DDL のプレビュー」ページに表示されます。

表 1 では、DB2® Version 9.7 for Linux, UNIX, and Windows ソース・データベースから DB2 Version 9.1 for z/OS® ターゲット・データベースへの 制約のコピーで生成される DDL の例を示します。

表 1. DB2 Version 9.7 for Linux, UNIX, and Windows か ら DB2 Version 9.1 for z/OS データベースへの制約のコピーの例
DB2 Version 9.7 for Linux, UNIX, and Windows の制約定義 DB2 Version 9.1 for z/OS データベースで生成される DDL
CREATE TABLE test2
  (col1 CHAR(20) NOT NULL
	)
  DATA CAPTURE NONE 
  IN USERS;


ALTER TABLE test2
   ADD CONSTRAINT pk_test1
   PRIMARY KEY (col1); 
CREATE TABLE NEWTON.TEST2
  (COL1 CHAR(20) NOT NULL
  )
  AUDIT NONE
  DATA CAPTURE NONE 
  CCSID EBCDIC;

ALTER TABLE NEWTON.TEST2
   ADD CONSTRAINT PK_TEST1
   PRIMARY KEY (COL1);
CREATE TABLE test4
  (col1 CHAR(20) NOT NULL
  )
  DATA CAPTURE NONE 
  IN USERS;


ALTER TABLE test4
   ADD CONSTRAINT uq_test1 UNIQUE (col1);
CREATE TABLE NEWTON.TEST4
  (COL1 CHAR(20) NOT NULL
  )
  AUDIT NONE
  DATA CAPTURE NONE 
  CCSID EBCDIC;

ALTER TABLE NEWTON.TEST4
   ADD CONSTRAINT UQ_TEST1 UNIQUE (COL1);
CREATE TABLE test8
  (col1 CHAR(20) NOT NULL
  )
  DATA CAPTURE NONE 
  IN USERS;


ALTER TABLE test8
   ADD CONSTRAINT chck_test1
   CHECK (col1 > '00060');
CREATE TABLE NEWTON.TEST8
  (COL1 CHAR(20) NOT NULL
  )
  AUDIT NONE
  DATA CAPTURE NONE 
  CCSID EBCDIC;

ALTER TABLE NEWTON.TEST8
   ADD CONSTRAINT CHCK_TEST1
   CHECK (COL1 > '00060');
CREATE TABLE test15
  (col1 CHAR(20) NOT NULL
  )
  DATA CAPTURE NONE 
  IN USERS;


ALTER TABLE test15
   ADD CONSTRAINT ref_test1
   FOREIGN KEY (col1)
   REFERENCES test2 (col1);
CREATE TABLE NEWTON.TEST15
  (COL1 CHAR(20) NOT NULL
  )
  AUDIT NONE
  DATA CAPTURE NONE 
  CCSID EBCDIC;

ALTER TABLE NEWTON.TEST15
   ADD CONSTRAINT REF_TEST1
   FOREIGN KEY (COL1)
   REFERENCES NEWTON.TEST2 (COL1);
CREATE TABLE test11b
  (col1 CHAR(20)
  )
  DATA CAPTURE NONE 
  IN USERS;


ALTER TABLE test11b
   ADD CONSTRAINT ref_test4
   FOREIGN KEY (col1)
   REFERENCES test2 (col1)
   ON DELETE CASCADE;
CREATE TABLE NEWTON.TEST11B
  (COL1 CHAR(20)
  )
  AUDIT NONE
  DATA CAPTURE NONE 
  CCSID EBCDIC;

ALTER TABLE NEWTON.TEST11B
   ADD CONSTRAINT REF_TEST4
   FOREIGN KEY (COL1)
   REFERENCES NEWTON.TEST2 (COL1)
   ON DELETE CASCADE;

表 2 では、DB2 Version 9.1 for z/OS ソース・データベースから DB2 Version 9.7 for Linux, UNIX, and Windows ターゲット・データベースへの 制約のコピーで生成される DDL の例を示します。

表 2. DB2 Version 9.1 for z/OS データベース から DB2 Version 9.7 for Linux, UNIX, and Windows データベース への制約のコピーの例
DB2 Version 9.1 for z/OS データベースの制約定義 DB2 Version 9.7 for Linux, UNIX, and Windows で生成される DDL
CREATE TABLE test2z
  (col1 CHAR(20) NOT NULL
  )
  AUDIT NONE
  DATA CAPTURE NONE 
  CCSID EBCDIC;

ALTER TABLE test2z
   ADD CONSTRAINT pk_test1
   PRIMARY KEY (col1);
CREATE TABLE DB2ADMIN.TEST2Z
  (COL1 CHAR(20) NOT NULL
  )
  DATA CAPTURE NONE ;



ALTER TABLE DB2ADMIN.TEST2Z
   ADD CONSTRAINT PK_TEST1
   PRIMARY KEY (COL1);
CREATE TABLE test4z
  (col1 CHAR(20) NOT NULL
  )
  AUDIT NONE
  DATA CAPTURE NONE 
  CCSID EBCDIC;

ALTER TABLE test4z
   ADD CONSTRAINT uq_test1 UNIQUE (col1);
CREATE TABLE DB2ADMIN.TEST4Z
  (COL1 CHAR(20) NOT NULL
  )
  DATA CAPTURE NONE ;



ALTER TABLE DB2ADMIN.TEST4Z
   ADD CONSTRAINT UQ_TEST1 UNIQUE (COL1);
CREATE TABLE test8z
  (col1 CHAR(20) NOT NULL
  )
  AUDIT NONE
  DATA CAPTURE NONE 
  CCSID EBCDIC;

ALTER TABLE test8z
   ADD CONSTRAINT chck_test1
   CHECK (col1 > '00060');
CREATE TABLE DB2ADMIN.TEST8Z
  (COL1 CHAR(20) NOT NULL
  )
  DATA CAPTURE NONE ;



ALTER TABLE DB2ADMIN.TEST8Z
   ADD CONSTRAINT CHCK_TEST1
   CHECK (COL1 > '00060');
CREATE TABLE test15z
  (col1 CHAR(20) NOT NULL
  )
  AUDIT NONE
  DATA CAPTURE NONE 
  CCSID EBCDIC;

ALTER TABLE test15z
   ADD CONSTRAINT ref_test1
   FOREIGN KEY (col1)
   REFERENCES test2z (col1);
CREATE TABLE DB2ADMIN.TEST15Z
  (COL1 CHAR(20) NOT NULL
  )
  DATA CAPTURE NONE ;



ALTER TABLE DB2ADMIN.TEST15Z
   ADD CONSTRAINT REF_TEST1
   FOREIGN KEY (COL1)
   REFERENCES DB2ADMIN.TEST2Z (COL1);
CREATE TABLE test11bz
  (col1 CHAR(20) WITH DEFAULT NULL
  )
  AUDIT NONE
  DATA CAPTURE NONE 
  CCSID EBCDIC;

ALTER TABLE test11bz
   ADD CONSTRAINT ref_test4
   FOREIGN KEY (col1)
   REFERENCES test2z (col1)
   ON DELETE CASCADE;
CREATE TABLE DB2ADMIN.TEST11BZ
  (COL1 CHAR(20) DEFAULT NULL
  )
  DATA CAPTURE NONE ;



ALTER TABLE DB2ADMIN.TEST11BZ
   ADD CONSTRAINT REF_TEST4
   FOREIGN KEY (COL1)
   REFERENCES DB2ADMIN.TEST2Z (COL1)
   ON DELETE CASCADE;

フィードバック