我使用的是Oracle 12c,我生成了一个带有身份主键的表:
create table t
( x int
generated as identity
primary key,
y varchar2(30)
)
当我运行这样的insert
语句时:
insert into t (y)
select 'a' from dual
一切都很好。但是当我想在union
语句中使用select
时,它会出错:
insert into t (y)
select 'a' from dual
union
select 'b' from dual
错误报告:
SQL错误:ORA-01400:无法插入NULL(“REPORT”。“T”。“X”)
01400. 00000 - “无法将NULL插入(%s)”
*原因:尝试将NULL插入先前列出的对象中 *操作:这些对象不能接受NULL值。