Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL错误:ORA-00904:;“类别ID”:无效标识符";_Sql_Oracle - Fatal编程技术网

SQL错误:ORA-00904:;“类别ID”:无效标识符";

SQL错误:ORA-00904:;“类别ID”:无效标识符";,sql,oracle,Sql,Oracle,将创建Customer和CCategory表。当我尝试创建磁带表时,出现以下错误:SQL错误:ORA-00904:“CATEGORYID”:无效标识符。我似乎不明白为什么。在尝试创建磁带表之前,我先创建了customer表,然后创建了category表。问题在于,您没有在磁带表中定义CATEGORYID和CUSTOMERID。加上它,它就会工作 完整的声明将是 CREATE TABLE CUSTOMER1 ( CUSTOMERID VARCHAR2(2) NOT N

将创建Customer和CCategory表。当我尝试创建磁带表时,出现以下错误:
SQL错误:ORA-00904:“CATEGORYID”:无效标识符
。我似乎不明白为什么。在尝试创建磁带表之前,我先创建了customer表,然后创建了category表。

问题在于,您没有在
磁带
表中定义
CATEGORYID
CUSTOMERID
。加上它,它就会工作

完整的声明将是

 CREATE TABLE CUSTOMER1
  (
   CUSTOMERID          VARCHAR2(2) NOT NULL,
   FIRSTNAME           VARCHAR2(50) NOT NULL,
   LASTNAME            VARCHAR2(50) NOT NULL,
   PHONENUMBER         VARCHAR2(50) NOT NULL,
   BIRTHDATE           DATE NOT NULL,
   DRIVERLICENSENUMBER NUMBER,
   STATUS              VARCHAR2(50),
   CREDITCARENUMBER    NUMBER,
   CONSTRAINT CustomerID_PK PRIMARY KEY(CUSTOMERID)
  );



CREATE TABLE CCATEGORY
 (
  CATEGORYID   INT NOT NULL,
  CATEGORYNAME VARCHAR2(50) NOT NULL,
 CONSTRAINT categoryID_pk PRIMARY KEY (CATEGORYID)
);


CREATE TABLE TAPE
 (
TAPEID         NUMBER(5) NOT NULL,
TAPETITLE      VARCHAR2(200) NOT NULL,
RELEASEYEAR    NUMBER(5) NOT NULL,
DATEPURCHASED  DATE NOT NULL,
PRICE          NUMERIC(5) NOT NULL,
RENTEDOUT      VARCHAR2(20) NOT NULL,
RATING         VARCHAR2(10) NOT NULL,
ACTIONONRETURN VARCHAR2(50) NOT NULL,
PRIMARY KEY(TAPEID),
CONSTRAINT FK_CATEGORYID FOREIGN KEY(CATEGORYID) REFERENCES CCATEGORY(CATEGORYID),
CONSTRAINT FK_RESERVEDBY FOREIGN KEY(CUSTOMERID) REFERENCES CUSTOMER(CUSTOMERID)
); 

检查更新的答案。问题是您没有在
磁带
表中定义
类别ID
客户ID
。加上它,它就会工作。
CREATE TABLE TAPE
 (
TAPEID         NUMBER(5) NOT NULL,
TAPETITLE      VARCHAR2(200) NOT NULL,
RELEASEYEAR    NUMBER(5) NOT NULL,
DATEPURCHASED  DATE NOT NULL,
PRICE          NUMERIC(5) NOT NULL,
RENTEDOUT      VARCHAR2(20) NOT NULL,
RATING         VARCHAR2(10) NOT NULL,
ACTIONONRETURN VARCHAR2(50) NOT NULL,
CATEGORYID   INT NOT NULL,
CUSTOMERID          VARCHAR2(2) NOT NULL,
CONSTRAINT tape_primary_key PRIMARY KEY(TAPEID), 
CONSTRAINT FK_CATEGORYID FOREIGN KEY(CATEGORYID) REFERENCES CCATEGORY(CATEGORYID),
CONSTRAINT FK_RESERVEDBY FOREIGN KEY(CUSTOMERID) REFERENCES CUSTOMER1(CUSTOMERID)
);