Oracle中,如何在另外一列属性有值时,才能在此列插入和更新?
现在有个名为course表,当给finish_date插入一个新值的时候,对应的start_date必须有值才可以,否则不能插入新值。求具体办法。...
现在有个名为course表,当给finish_date插入一个新值的时候,对应的start_date必须有值才可以,否则不能插入新值。求具体办法。
展开
2个回答
展开全部
加个约束就好:
create table tmp_fancy(
start_date date,
finish_date date ,
CONSTRAINT CK_DATE CHECK(finish_date is not null and start_date is not null or finish_date is null)
);
/*测试*/
insert into tmp_fancyvalues(sysdate,null);
insert into tmp_fancy
values(null,sysdate);
insert into tmp_fancy
values(sysdate,sysdate);
create table tmp_fancy(
start_date date,
finish_date date ,
CONSTRAINT CK_DATE CHECK(finish_date is not null and start_date is not null or finish_date is null)
);
/*测试*/
insert into tmp_fancyvalues(sysdate,null);
insert into tmp_fancy
values(null,sysdate);
insert into tmp_fancy
values(sysdate,sysdate);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询