错误报告 - ORA-00904: : 标识符 00904 无效。00000 - "%s: invalid identifier"



这是我的SQL Oracle脚本,我无法弄清楚为什么在尝试运行此代码时会继续遇到以下错误:我一直在尝试运行的每个表上获得此确切的代码。谁能指向我的代码为什么不运行的正确方向?我已经尝试自己整天研究这个问题,无法得到它。**

Error starting at line : 12 in command -
CREATE TABLE COURSE (
CRS_CODE        VARCHAR (8) NOT NULL,
CRS_DESCRIPTION VARCHAR (35) NOT NULL,
CONSTRAINT    CRS_CREDIT    NOT NULL,
CHECK (CRS_CREDIT IN (1,2,3,4)),
PRIMARY KEY   (CRS_CODE))
Error report -
ORA-00904: : invalid identifier
00904. 00000 -  "%s: invalid identifier"
*Cause:    
*Action:
SQL> 

**CODE BEFORE ERROR:**
/* This script file creates the following tables:*/
/*COURSE, CLASS, ENROLL, STUDENT */
set echo on;
set serveroutput on ;
/*DROP TABLE COURSE;
DROP TABLE CLASS;
DROP TABLE STUDENT;
DROP TABLE ENROLL;*/
CREATE TABLE COURSE (
CRS_CODE        VARCHAR (8) NOT NULL,
CRS_DESCRIPTION VARCHAR (35) NOT NULL,
CONSTRAINT    CRS_CREDIT    NOT NULL,
CHECK (CRS_CREDIT IN (1,2,3,4)),
PRIMARY KEY   (CRS_CODE));
CREATE TABLE CLASS (
CLASS_CODE  NUMBER (5)  NOT NULL,
CONSTRAINT CLASS_SECTION_Ck NOT NULL,
CLASS_TIME  VARCHAR (25)    NOT NULL,
CLASS_ROOM  CHAR (6),
CHECK (CLASS_SECTION IN (1,2,3,4,5,6,7,8)),
PRIMARY KEY (CLASS_CODE),
FOREIGN KEY (CRS_CODE) REFERENCES COURSE (CRS_CODE));
CREATE TABLE STUDENT (
STU_NUM     INTEGER NOT NULL,
STU_LNAME   VARCHAR (25) NOT NULL,
STU_FNAME   VARCHAR (20) NOT NULL,
STU_INIT    CHAR  (1),
STU_DOB     DATE    NOT NULL,
CONSTRAINTS STU_HRS_Ck  DEFAULT 0 NOT NULL,
STU_CLASS   CHARACTER(2) REFERENCES "Fr", "So", "Jr", "Gr" NOT NULL,
CONSTRAINT  STU_GPA_Ck  DEFAULT 0.00 NOT NULL,
STU_PHONE   VARCHAR (4)  NOT NULL,
PRIMARY KEY (STU_NUM),
CHECK (STU_HRS <= 0),
CHECK (STU_HRS >= 1000),
CHECK (STU_GPA BETWEEN 0.00 AND 4.00));
CREATE TABLE ENROLL (
ENROLL_GRADE_Ck     VARCHAR (1) REFERENCES "A","B","C","D","F","I","W", "Z", DEFAULT Z NOT NULL,
FOREIGN KEY (STU_NUM) REFERENCES STUDENT (STU_NUM),
FOREIGN KEY (CLASS_CODE) REFERENCES CLASS (CLASS_CODE),
PRIMARY KEY (CLASS_CODE));
commit;

从您的问题中尚不清楚您是否正在尝试创建列级约束。如果您想创建一个列级约束,则在您的约束定义(单词约束之前的逗号(中似乎存在语法错误。

请参阅Oracle的以下链接: https://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj13590.html

它有有关如何定义包括列级约束的约束的示例。您可能需要将约束子句与示例进行比较,以查看约束中是否存在错误。

相关内容

最新更新