gpt4 book ai didi

java - SQL 错误 : ORA-02000: missing ALWAYS keyword when create identity column based table

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:25:08 28 4
gpt4 key购买 nike

我尝试在表上创建一个自动递增的列,正如我在这个 post 中看到的那样有两种方法,第二种使用 Identity 列的实现是一种更优雅的解决方案,但是当我尝试实现它时,出现以下错误:

    Error at Command Line : 3 Column : 31
Error report -
SQL Error: ORA-02000: missing ALWAYS keyword
02000. 00000 - "missing %s keyword"

实际的表脚本实现:

CREATE TABLE "PLATFORM"."AUTH_PERMISSION"
(
ID NUMBER(19,0) GENERATED BY DEFAULT ON NULL AS IDENTITY,
-- ID NUMBER(19,0) PRIMARY KEY NOT NULL,
NAME VARCHAR2(50) UNIQUE NOT NULL,
ACTION_ID NUMBER(19,0) NOT NULL,
RESOURCE_ID NUMBER(19,0) NOT NULL,
ENVIRONMENT_ID NUMBER(19,0) NOT NULL,
CONSTRAINT "ACTION_ID" FOREIGN KEY ("ACTION_ID")
REFERENCES "AUTH_ACTION" ("ID") ENABLE,
CONSTRAINT "ENVIRONMENT_ID" FOREIGN KEY ("ENVIRONMENT_ID")
REFERENCES "AUTH_ENVIRONMENT" ("ID") ENABLE,
CONSTRAINT "RESOURCE_ID" FOREIGN KEY ("RESOURCE_ID")
REFERENCES "AUTH_RESOURCE" ("ID") ENABLE,
UNIQUE (ACTION_ID, ENVIRONMENT_ID, RESOURCE_ID)
);

可以看出,我尝试自增的列是表的主键。

This是我从哪里得到解决方案的引用。

问题是我使用了旧版本的 Oracle,11g。

最佳答案

也许您尝试连接的 Oracle 数据库 (服务器)12c,但是您正在使用的客户端(本地安装)不支持该功能。请检查您的Oracle 客户端版本,可能是11g 或更低 不支持。您需要下载更高版本的客户端。

在版本 12.1.0.1 上完美运行。

SQL> select banner from v$version where rownum = 1;

BANNER
--------------------------------------------------------------------------------
Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production

SQL> CREATE TABLE AUTH_PERMISSION
2 (
3 ID NUMBER(19,0) GENERATED BY DEFAULT ON NULL AS IDENTITY,
4 -- ID NUMBER(19,0) PRIMARY KEY NOT NULL,
5 NAME VARCHAR2(50) UNIQUE NOT NULL,
6 ACTION_ID NUMBER(19,0) NOT NULL,
7 RESOURCE_ID NUMBER(19,0) NOT NULL,
8 ENVIRONMENT_ID NUMBER(19,0) NOT NULL
9 );

Table created.

关于java - SQL 错误 : ORA-02000: missing ALWAYS keyword when create identity column based table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28806412/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com