NOT NULL制約付きのCMRの生成

CMRを生成するとき、NOT NULL FK列を含む表は使用しないでください。NOT NULL制約は、トランザクションの最後まで遅延する必要があります。

たとえば、次の表定義は機能しません。

CREATE TABLE EMP
(EMPNO NUMBER(4) NOT NULL,
.
.
.
DEPTNO NUMBER(2) NOT NULL,
CONSTRAINT EMP_FOREIGN_KEY FOREIGN KEY (DEPTNO) REFERENCES DEPT (DEPTNO),
CONSTRAINT EMP_PRIMARY_KEY PRIMARY KEY (EMPNO)
); 

この表を正しく定義するには、次の例のようにNOT NULL制約を遅延させます。

CREATE TABLE EMP
(EMPNO NUMBER(4) NOT NULL,
.
.
.
DEPTNO NUMBER(2) constraint not_null_deptno not null initially deferred,
CONSTRAINT EMP_FOREIGN_KEY FOREIGN KEY (DEPTNO) REFERENCES DEPT (DEPTNO),
CONSTRAINT EMP_PRIMARY_KEY PRIMARY KEY (EMPNO)
); 

 


関連項目

Enterprise JavaBeansのモデルの作成
Enterprise JavaBeansの開発