首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Oracle SQL开发。外键错误:未知命令

Oracle SQL开发。外键错误:未知命令
EN

Stack Overflow用户
提问于 2018-04-01 13:39:51
回答 1查看 58关注 0票数 0

每次我尝试做外键时,都会遇到这样的错误:

从命令第9行开始的错误: 约束tp_landlordrole_FK外键(useraccountid) 错误报告: 未知指挥

我的一个建议是

代码语言:javascript
复制
ALTER TABLE 
ADD CONSTRAINT

第一个表工作正常,但是当我尝试下一个表时,它没有工作,错误又回来了。

下面是我的代码示例:

代码语言:javascript
复制
PROMPT 'Creating Table landlordrole'
CREATE TABLE tp_landlordrole
(
    landlordroleid          NUMBER(20) NOT NULL,
    useraccountid           NUMBER(20) NOT NULL,
    numberofpropertiesowned     Number(6),
CONSTRAINT tp_landlordrole_PK PRIMARY KEY ( landlordroleid ) ) ; 

ALTER TABLE tp_landlordrole
ADD CONSTRAINT tp_landlordrole_FK FOREIGN KEY (useraccountid)
REFERENCES  tp_useraccount(useraccountid) ON DELETE CASCADE ;

PROMPT Creating Index 'tp_landlordrole_I'
CREATE INDEX tp_landlordrole_I ON tp_landlordrole
( useraccountid );

PROMPT 'Creating Sequence tp_landlordroleid_seq for the tp_landlordrole table'
CREATE SEQUENCE tp_landlordroleid_seq START WITH 0 MINVALUE 0 NOCACHE;



PROMPT 'Creating Table realtorrole'
CREATE TABLE tp_realtorrole
(
    realtorroleid                   NUMBER(20) NOT NULL,
    useraccountid               NUMBER(20) NOT NULL,
    currentrealestatecompanyname    VARCHAR2(20) NOT NULL,
CONSTRAINT  tp_realtorrole_PK PRIMARY KEY ( realtorroleid ) ) ;

ALTER TABLE tp_realtorrole
ADD CONSTRAINT  tp_realtorrole_FK FOREIGN KEY ( useraccountid )
REFERENCES  tp_useraccount(useraccountid) );

PROMPT Creating Index 'tp_realtorrole_I'
CREATE INDEX tp_realtorrole_I ON tp_realtorrole
( useraccountid );

PROMPT 'Creating Sequence tp_realtorroleid_seq for the tp_realtorrole table'
CREATE SEQUENCE tp_realtorroleid_seq START WITH 0 MINVALUE 0 NOCACHE;

欢迎任何建议。

EN

回答 1

Stack Overflow用户

发布于 2018-04-01 13:53:52

代码应该更像这样:

代码语言:javascript
复制
PROMPT 'Creating Table landlordrole'
CREATE TABLE tp_landlordrole (
    landlordroleid          NUMBER(20) NOT NULL,
    useraccountid           NUMBER(20) NOT NULL,
    numberofpropertiesowned     Number(6),
    CONSTRAINT tp_landlordrole_PK PRIMARY KEY ( landlordroleid )
);

ALTER TABLE tp_landlordrole
    ADD CONSTRAINT tp_landlordrole_FK FOREIGN KEY (useraccountid)
        REFERENCES  tp_useraccount(useraccountid) ON DELETE CASCADE;

PROMPT 'Creating Index tp_landlordrole_I'
CREATE INDEX tp_landlordrole_I ON tp_landlordrole(useraccountid);

PROMPT 'Creating Sequence tp_landlordroleid_seq for the tp_landlordrole table'
CREATE SEQUENCE tp_landlordroleid_seq START WITH 0 MINVALUE 0 NOCACHE;

PROMPT 'Creating Table realtorrole'
CREATE TABLE tp_realtorrole (
    realtorroleid                   NUMBER(20) NOT NULL,
    useraccountid               NUMBER(20) NOT NULL,
    currentrealestatecompanyname    VARCHAR2(20) NOT NULL,
    CONSTRAINT  tp_realtorrole_PK PRIMARY KEY (realtorroleid)
);

ALTER TABLE tp_realtorrole
    ADD CONSTRAINT tp_realtorrole_FK FOREIGN KEY (useraccountid)
        REFERENCES tp_useraccount(useraccountid);

当然,除非定义了tp_useraccount,否则外键引用将失败。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49598658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档