我正在使用oracle第一次,并且我有一个名为ExpenseReport的表,用于存储有关费用的详细信息。ORACLE约束允许为空值,如果
我想允许空值的ApprUserNo IF ERStatus =“PENDING” 任何帮助将不胜感激,我一直在想这一切上午
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')
)
什么问题了吗? – 2012-04-04 10:23:30
我需要ApprUserNo才可以为空只有当ERStatus ='Pending' – 2012-04-04 10:30:01
我在尝试执行此操作时遇到错误。 – 2012-04-04 10:30:27