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

我的CREATE TABLE语句为何触发ORA-00905: 缺失关键字错误?

解决ORA-00905: 缺失关键字错误的问题

你的CREATE TABLE语句触发错误的核心原因是最后一个外键约束qualifk的定义不完整。Oracle的外键约束要求必须明确指定要引用的父表和对应列,你只写了FOREIGN KEY(QualificationId),却没有跟上REFERENCES子句来指明关联的表和列,数据库解析时找不到必要的关键字,就抛出了ORA-00905。

另外给你个小提醒:在Oracle中,推荐使用VARCHAR2代替VARCHAR,虽然VARCHAR也能正常运行,但VARCHAR2是Oracle官方标准的变长字符串类型,语义更清晰,避免潜在的兼容性问题。

修正后的SQL语句示例(假设你的父表名为qualifications,你可以根据实际情况调整):

CREATE TABLE CUSTOMERS (
    CustId varchar2(10) not null,
    custname varchar2(15),
    Ic varchar2(15),
    AttributeName varchar2(10),
    Birthdate varchar2(10),
    Birthstate varchar2(10),
    Race varchar2(10),
    Gender varchar2(10),
    No_Of_sibling varchar2(10),
    Status varchar2(10),
    AddID varchar2(10),
    QualificationId varchar2(10),
    constraint custpk PRIMARY KEY(CustId),
    constraint addfk FOREIGN KEY(AddID) references address(AddID),
    constraint qualfk FOREIGN KEY(QualificationId) references qualifications(QualificationId)
);

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:59:04