You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ORA-00907: 缺失右括号报错排查——我的建表语句何处有误?

问题分析与解决方案

错误根源在于auto_increment关键字——这是MySQL等数据库的自增字段语法,Oracle数据库并不支持该关键字,Oracle会将其判定为无效语法,从而抛出ORA-00907: missing right parenthesis错误。

修正后的建表语句

适用于Oracle 12c及以上版本

可以直接使用GENERATED AS IDENTITY实现自增:

CREATE TABLE student(
    student_id int GENERATED AS IDENTITY NOT NULL,
    name VARCHAR(20) NOT NULL,
    major VARCHAR(20),
    PRIMARY KEY(student_id)
);

适用于Oracle 12c之前的版本

需要通过「序列+触发器」的方式实现自增:

  1. 创建序列:
CREATE SEQUENCE student_seq START WITH 1 INCREMENT BY 1;
  1. 创建触发器:
CREATE OR REPLACE TRIGGER student_trigger
BEFORE INSERT ON student
FOR EACH ROW
BEGIN
    SELECT student_seq.NEXTVAL INTO :NEW.student_id FROM DUAL;
END;
/
  1. 建表语句(此时无需自增关键字):
CREATE TABLE student(
    student_id int NOT NULL,
    name VARCHAR(20) NOT NULL,
    major VARCHAR(20),
    PRIMARY KEY(student_id)
);

内容的提问来源于stack exchange,提问作者Joicy Castilino

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 22:09:22