处理无法在Oracle中插入Null

时间:2016-02-22 08:37:37

标签: sql oracle sql-insert

我有一个insert声明,其中我将数据从table_abc插入table_job。现在table_job中的effec_start_date中有必填列, 但是这个effec_start_date在table_Abc中不是强制性的。因此,table_abc的effec_start_date中也可能存在空值。 从table_abc插入到table_job时,它会进入异常状态 陈述

-1400 - ORA-01400: cannot insert NULL into ("HR"."table_job"."EFF_START_DATE")

显然在查询table_job时它没有返回任何值

是否有可能在table_job中插入effective_Start_date的非空值,并且只有空值才会进入异常

insert into table_job
(job_code,
eff_start_date,
eff_end_date,
config_id
)

select * from table_Abc;

1 个答案:

答案 0 :(得分:3)

您需要在select语句中过滤数据

insert into table_job
(job_code,
eff_start_date,
eff_end_date,
config_id
)
select * from table_Abc
where eff_start_date is not null;