【问题标题】:"Missing ( keyword" When create table with column identity in Oracle12c在 Oracle 12c 中创建具有列标识的表时“缺少(关键字”)
【发布时间】:2019-03-17 10:08:36
【问题描述】:

你能解释一下我的错误吗?

create table ABC.t1 (
    c1 NUMBER GENERATED ALWAYS as IDENTITY ( START with 1 INCREMENT by 1 ),
    c2 VARCHAR2(10)
    )

错误报告 - ORA-02000: 缺少 ( 关键字 02000. 00000 - “缺少 %s 关键字”

【问题讨论】:

  • 适用于 12c 及更高版本。看起来您仍在 Oracle11g 上运行它。请检查您会话中select * from v$version 的输出。

标签: oracle oracle12c create-table


【解决方案1】:

“作为身份生成”功能适用于 Oracle 12c 或之后的版本。

在 Oracle 12c 之前:

create table t1 (
    c1 NUMBER,
    c2 VARCHAR2(10)
    );

create sequence
   t1_seq
  increment by 1
  start with 1;

Insert into
   t1
values
   (t1_seq.nextval, 'ABC');

在 Oracle 12c 中或之后:

create table ABC.t1 (
    c1 NUMBER GENERATED ALWAYS as IDENTITY ( START with 1 INCREMENT by 1 ),
    c2 VARCHAR2(10)
    );

Insert into
   t1
values
   ('ABC');

因此,您的语句仅适用于 12c 或更高版本。

【讨论】:

  • 谢谢。我已经安装了 oracle 12c 并完成了。非常感谢你
  • 非常欢迎。如果您认为它解决了您的问题,请接受答案。 :-)
  • 创建序列page_views_t_GUID_ID缓存1e6; --Create Table page_views_t create table page_views_t (integervalue_c NUMBER GENERATED ALWAYS as IDENTITY (START with 1 INCREMENT by 1), rowid_c 约束 page_views_t_GUID_ID 主键) AS SELECT sys_guid() from xmltable('1 to 10000000');
  • 我正在这样创建,但身份列错误即将到来 ORA-02000: missing (keyword
  • 我的版本是 18c XE。是11g还是12c还是12c以上还是12c以下?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-06-11
  • 1970-01-01
  • 2015-05-02
  • 2016-10-05
  • 1970-01-01
  • 2020-02-01
  • 2018-02-24
相关资源
最近更新 更多