【发布时间】:2019-01-29 02:44:41
【问题描述】:
所以我有下表:
CREATE TABLE car (
id NUMBER GENERATED BY DEFAULT ON NULL AS IDENTITY,
(...)
PRIMARY KEY (ID)
);
然后我添加了一个新列:
CREATE SEQUENCE car_sequence START WITH 1;
ALTER TABLE car ADD id_internal NUMBER DEFAULT car_sequence.nextval NOT NULL;
如何根据 car_sequence 的下一个值强制 id_internal(插入时)自动递增?触发器是唯一的出路吗?
【问题讨论】:
-
同样,您所展示的内容在 12cR1 和 12cR2 中都有效。你有什么问题?
-
上述陈述有效。但是当我尝试插入新行时,我得到:
ORA-01400: cannot insert NULL into ("car"."id_internal"). -
Insert 也适用于我,只为额外的列提供一个值 - 不适用于
id或id_internal。你在哪个版本和补丁级别?我想这在基础 12cR1 版本中存在问题是可行的...... -
好的,我相信这是休眠问题,因为当我按照您所说的进行操作时——只为额外的列提供值——它起作用了。所以我必须处理hibernate来解决它。再次感谢。