저는 처음으로 oracle과 협력하고 있습니다. 비용에 대한 세부 정보를 저장하는 ExpenseReport라는 테이블이 있습니다.ORACLE Null 값을 허용하는 제약 IF
은 내가이 그것을해야
CREATE TABLE ExpenseReport
(
ERNo NUMBER(10) NOT NULL,
ERDesc VARCHAR2(255) NOT NULL,
ERSubmitDate DATE NOT NULL,
ERStatusDate DATE NOT NULL,
ERStatus VARCHAR2(8) DEFAULT 'PENDING' NOT NULL,
SubmitUserNo NUMBER(10) NOT NULL,
ApprUserNo NUMBER(10) NOT NULL CONSTRAINT BEN_Check CHECK (ERStatus LIKE('PENDING')),
UsersUserNo NUMBER(10) NOT NULL,
AssetAssetNo NUMBER(10) NOT NULL,
PRIMARY KEY (ERNo),
CONSTRAINT Check_ER_Date CHECK (ERStatusDate >= ERSubmitDate),
CONSTRAINT ERStatus_Null_Exception CHECK (IF ERStatus = 'PENDING',AppUserNo = NULLABLE),
CONSTRAINT ERStatus_Option CHECK (ERStatus = 'PENDING','APPROBED','DENIED')
)
문제는 무엇
ErStatus = 'PENDING'
않는 ApprUserNo는 NULL이 될 수 없다고 제약 조건을 만들? –ApprUserNo가 Nullable 일 때만 필요합니다. ERStatus = 'Pending' –
실행하려고하면 오류가 발생합니다. –