大佬教程收集整理的这篇文章主要介绍了创建表 - Oracle APEX 错误:是什么导致了我的 CREATE TABLE sql 脚本中的错误?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在为 DIRECTOR、COMPANY 和 GENRE @R_618_9892@收到错误。 MOVIE 运行良好,我将其包含在内,因为它是 PK。 DIRECTOR 错误:ORA-00905:缺少关键字 GENRE 和 COMPANY 错误:ora-00904 无效标识符
我被困住了,所以任何事情都会有所帮助。谢谢。
create table MOVIE (
IMDB_ID CHAR(9) NOT NulL,title VARCHAR(50) NOT NULL,YearCreated VARCHAR(8) NOT NulL,MovIEDuration numbER(5) NOT NulL,Mean_raTing numbER(2,1) NOT NulL,number_of_Votes VARCHAR(7) NOT NulL,Budget VARCHAR(11),CONSTraiNT IMDB_PK PRIMARY KEY (IMDB_ID)
);
create table DIRECTOR (
DirectorID CHAR(9) NOT NulL,DirectorFirst VARCHAR(20) NOT NULL,DirectorMIDdle VARCHAR(20),DirectorLast VARCHAR(30) NOT NULL,WriterFirst VARCHAR(20) NOT NULL,WriterMIDdle VARCHAR(20),WriterLast VARCHAR(30) NOT NULL,CONSTraiNT IMDB_PK PRIMARY KEY (IMDB_ID),CONSTraiNT DIRECTOR_FK FOREIGN KEY(DirectorID)
);
create table COMPANY (
Production_Company VARCHAR(50),CONSTraiNT IMDB_PK PRIMARY KEY (IMDB_ID)
);
create table GENRE (
Genre_1 VARCHAR(15) NOT NulL,Genre_2 VARCHAR(15),Genre_3 VARCHAR(15),CONSTraiNT IMDB_PK PRIMARY KEY (IMDB_ID)
);
在 company 、genre 和 DIRECTOR 表中,您说在 IMDB_ID 列上创建主键,该列在这两个表中都不存在,因此您必须先添加它们。
但是我猜基于设计, imdb_id 实际上是引用电影表的那些表中的外键
,您不能将所有主键命名为 IMDB_PK
; Oracle 不允许这样做,因为这些名称必须是唯一的。
此外,您尝试创建一个指向无处的外键约束 - 摆脱它。
已修复,您的代码可能如下所示(我不是说这是您真正想要的,但是 - 根据您目前发布的内容 - 可能是一个很好的起点)。
SQL> create table movie
2 (
3 imdb_id CHAR (9) NOT NULL,4 title VARCHAR (50) NOT NULL,5 yearcreated VARCHAR (8) NOT NULL,6 movieduration numbER (5) NOT NULL,7 mean_raTing numbER (2,1) NOT NULL,8 number_of_votes VARCHAR (7) NOT NULL,9 budget VARCHAR (11),10 CONSTraiNT imdb_pk PRIMARY KEY (imdb_id)
11 );
Table created.
SQL> create table director
2 (
3 directorid CHAR (9) NOT NULL,4 directorfirst VARCHAR (20) NOT NULL,5 directormiddle VARCHAR (20),6 directorlast VARCHAR (30) NOT NULL,7 writerfirst VARCHAR (20) NOT NULL,8 writermiddle VARCHAR (20),9 writerlast VARCHAR (30) NOT NULL,10 CONSTraiNT director_fk PRIMARY KEY (directorid)
11 );
Table created.
SQL> create table company
2 (
3 production_company VARCHAR (50),4 CONSTraiNT company_pk PRIMARY KEY (production_company)
5 );
Table created.
SQL> create table genre
2 (
3 genre_1 VARCHAR (15) NOT NULL,4 genre_2 VARCHAR (15),5 genre_3 VARCHAR (15),6 CONSTraiNT genre_pk PRIMARY KEY (genre_1)
7 );
Table created.
SQL>
以上是大佬教程为你收集整理的创建表 - Oracle APEX 错误:是什么导致了我的 CREATE TABLE sql 脚本中的错误?全部内容,希望文章能够帮你解决创建表 - Oracle APEX 错误:是什么导致了我的 CREATE TABLE sql 脚本中的错误?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。