【问题标题】:invalid identifier when trying to alter column value to default in Oracle Sql尝试在 Oracle Sql 中将列值更改为默认值时标识符无效
【发布时间】:2017-01-05 20:08:32
【问题描述】:

我已经创建了这个序列

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。

【问题讨论】:

  • 您的 Oracle 版本是多少?这仅适用于 Oracle 12 或更高版本

标签: sql oracle


【解决方案1】:

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

ALTER TABLE student modify cods DEFAULT stud_seq.nextval

请注意,您可以从 Oracle 12c 开始使用它;如果您需要不同版本的解决方案,您会在SO 中找到很多答案;除其他外,您可能想看看this

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-02
    • 2019-03-25
    相关资源
    最近更新 更多