首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL :表或视图不存在,为什么?

问SQL :表或视图不存在,为什么?
EN

Stack Overflow用户
提问于 2018-03-04 17:34:00
回答 2查看 275关注 0票数 0

下面是代码:

代码语言:javascript
复制
DROP TABLE FILM CASCADE CONSTRAINTS; 
DROP TABLE COMPANY CASCADE CONSTRAINTS;
DROP TABLE MAIN_ACTOR CASCADE CONSTRAINTS;
DROP TABLE DIRECTOR CASCADE CONSTRAINTS;

CREATE TABLE FILM (
    Film_ID         NUMBER(4)       PRIMARY KEY,
    Title           VARCHAR2(35)    NOT NULL,
    Year            Date            NOT NULL,
    Language        VARCHAR2(20),
    Director_ID     NUMBER(4)       NOT NULL,       
    Actor_ID        NUMBER(4)       NOT NULL,     
    Company_ID      NUMBER(4)       NOT NULL,       
    Genre           NUMBER(4)       NOT NULL,
    FOREIGN KEY (Director_ID)   REFERENCES  DIRECTOR(Director_ID),
    FOREIGN KEY (Actor_ID)      REFERENCES  MAIN_ACTOR(Main_Actor_ID),
    FOREIGN KEY (Company_ID)    REFERENCES  COMPANY(Company_ID)
);

CREATE TABLE COMPANY (
    Company_ID          NUMBER(4)       PRIMARY KEY,
    Company_Name        VARCHAR2(20)    NOT NULL,
    Company_Country     VARCHAR2(20)    NOT NULL
);

CREATE TABLE MAIN_ACTOR (
    Main_Actor_ID   NUMBER(4)       PRIMARY KEY,
    First_Name      VARCHAR2(20)    NOT NULL,
    Last_Name       VARCHAR2(20)    NOT NULL,
    Birthday        Date            NOT NULL,
    Country         VARCHAR2(20)
);

CREATE TABLE DIRECTOR (
    Director_ID             NUMBER(4)       PRIMARY KEY,
    Director_First_Name     VARCHAR2(20),
    Director_Last_Name      VARCHAR2(20)    NOT NULL,
    Director_BD             Date,            
    Country                 VARCHAR2(20)    NOT NULL
);

我得到的错误是:

代码语言:javascript
复制
Line 6
Error report -
ORA-00942: table or view does not exist
00942. 00000 -  "table or view does not exist"

所以我找了找却什么也没找到。当您使用错误的权限调用select时,所有类似的错误似乎都会发生,但是在这里,对创建表的简单调用,给出了这个错误。

因此,我尝试放弃 it,并最终重新-创建 it,但是没有什么改变。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-03-04 17:37:07

在外部约束中引用未创建的表,因此更改顺序。

没有外部约束的第一个表和引用这些表的后置表

代码语言:javascript
复制
  DROP TABLE FILM CASCADE CONSTRAINTS; 
  DROP TABLE COMPANY CASCADE CONSTRAINTS;
  DROP TABLE MAIN_ACTOR CASCADE CONSTRAINTS;
  DROP TABLE DIRECTOR CASCADE CONSTRAINTS;

  CREATE TABLE DIRECTOR (
      Director_ID             NUMBER(4)       PRIMARY KEY,
      Director_First_Name     VARCHAR2(20),
      Director_Last_Name      VARCHAR2(20)    NOT NULL,
      Director_BD             Date,            
      Country                 VARCHAR2(20)    NOT NULL
  );

  CREATE TABLE MAIN_ACTOR (
      Main_Actor_ID   NUMBER(4)       PRIMARY KEY,
      First_Name      VARCHAR2(20)    NOT NULL,
      Last_Name       VARCHAR2(20)    NOT NULL,
      Birthday        Date            NOT NULL,
      Country         VARCHAR2(20)
  );

  CREATE TABLE COMPANY (
      Company_ID          NUMBER(4)       PRIMARY KEY,
      Company_Name        VARCHAR2(20)    NOT NULL,
      Company_Country     VARCHAR2(20)    NOT NULL
  );

  CREATE TABLE FILM (
      Film_ID         NUMBER(4)       PRIMARY KEY,
      Title           VARCHAR2(35)    NOT NULL,
      Year            Date            NOT NULL,
      Language        VARCHAR2(20),
      Director_ID     NUMBER(4)       NOT NULL,       
      Actor_ID        NUMBER(4)       NOT NULL,     
      Company_ID      NUMBER(4)       NOT NULL,       
      Genre           NUMBER(4)       NOT NULL,
      FOREIGN KEY (Director_ID)   REFERENCES  DIRECTOR(Director_ID),
      FOREIGN KEY (Actor_ID)      REFERENCES  MAIN_ACTOR(Main_Actor_ID),
      FOREIGN KEY (Company_ID)    REFERENCES  COMPANY(Company_ID)
  );
票数 0
EN

Stack Overflow用户

发布于 2018-03-04 20:28:52

由于级联到drop查询中的约束,Director_ID、ACTOR_ID和Company_ID的外键约束也受到了影响,而且随着这些表也被删除,表也无法找到链接外键的其他表。您需要从下到上运行创建查询,以便最后创建包含其他表外键的胶片表,并重新建立引用键。

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

https://stackoverflow.com/questions/49098267

复制
相关文章

相似问题

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