所以我有下表:
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;
如何基于id_internal
的下一个值强制car_sequence
(插入时)自动递增?触发器是这里唯一的出路吗?
答案 0 :(得分:2)
当我尝试插入新行时,我得到:
ORA-01400: cannot insert NULL into ("car"."id_internal")
这似乎是bug 18110491,它会影响12.1.0.1和12.1.0.2。在2017年10月的PSU(和12cR2)中已将其报告为固定的,因此-假设您有支持合同,否则,您将始终无法看到该错误报告-您可以(或稍后)应用该报告。对于我的12cR1系统和更新的PSU,这对我来说工作正常。