尝试在Oracle Sql中将列值更改为默认值时无效的标识符

时间:2017-01-05 20:08:32

标签: sql oracle

我创建了这个序列

CREATE SEQUENCE stud_seq
START WITH 1000
INCREMENT BY 1
MAXVALUE 99999
NOCACHE
NOCYCLE;

我的这张桌子名为 student

Name                 Null     Type          
-------------------- -------- ------------- 
CODS                 NOT NULL NUMBER(5)     
NUME                 NOT NULL VARCHAR2(50)  
PREN                 NOT NULL VARCHAR2(50)  

CODS是一个主要的关键。

我正在尝试这样做

ALTER TABLE student ADD CONSTRAINT student_cods_df DEFAULT stud_seq.nextval FOR cods;

我收到错误

SQL Error: ORA-00904: : invalid identifier
00904. 00000 -  "%s: invalid identifier"
你能告诉我出了什么问题吗?谢谢。

如果有人想知道,我会使用SQL Developer。

1 个答案:

答案 0 :(得分:0)

您的语法有一些问题;你可能需要:

ALTER TABLE student modify cods DEFAULT stud_seq.nextval

请注意,您可以在Oracle 12c上使用此功能;如果您需要针对不同版本的解决方案,您可以在SO中找到许多答案;在其他人中,您可能需要查看this