create table autos (
id integer generated by default on null as IDENTITY unique,
owner_name nvarchar2(50)
);
然后我在表中插入几行
insert into autos
(owner_name)
VALUES
('Nick');
insert into autos
(owner_name)
VALUES
('Tommy');
插入 2 行,然后为了增加行数,我运行此查询
insert into autos
(owner_name)
select owner_name
from autos;
成功运行了几个查询,但在此之后,oracle 返回错误:ORA-30667: cannot drop NOT NULL constraint on a DEFAULT ON NULL column
请告诉,这里有什么问题?
PS我使用SQL Developer。
更新
如果我在sys
数据库连接中尝试上述所有代码,一切正常,但我正在创建新用户(这是我如何创建新用户的代码)
CREATE USER C##OTO_USER
IDENTIFIED BY oto_user_pass;
GRANT ALL PRIVILEGES TO C##OTO_USER;
然后我创建新的连接,C##OTO_USER
并且只有在这个连接中才会发生上述错误。
此外,有时会发生该错误,有时INSERT
查询工作正常。
不仅如此INSERT... SELECT
,而且通常INSERT
语句也会导致该错误。
所以,我认为这是新用户/连接问题,可能是在用户创建代码之上,而不是创建完整用户?
如果尝试使用 SQL*PLUS 插入,也会发生同样的错误。