我有一个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;
答案 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;