2015-12-06 141 views
1

我試圖運行我的數據庫,但學生和BATCHES表給出錯誤:'ORA-00942:表或視圖不存在'。我試過按順序放下它們,但我無法確定問題到底是什麼。 原諒我,如果答案是顯而易見的,我是新來的批次Oracle批處理數據庫

DROP TABLE students; 
DROP TABLE batches; 

DROP TABLE courses; 
DROP TABLE faculty; 


CREATE TABLE batches (
bcode varchar2(5) CONSTRAINT batches_PK PRIMARY KEY, 
ccode varchar2(5) CONSTRAINT batches_ccode_FK REFERENCES COURSES(ccode), 
fcode varchar2(5) CONSTRAINT batches_fcode_FK REFERENCES FACULTY(fcode), 
stdate date CONSTRAINT batches_stdate_nn not null, 
enddate date, 
timing number(1) CONSTRAINT batches_timing_chk check(timing in (1,2,3)), 
CONSTRAINT batches_date_chk check (stdate <= enddate) 
); 

CREATE TABLE students (
rollno number(5) CONSTRAINT students_PK PRIMARY KEY, 
bcode varchar2(5) CONSTRAINT students_bcode_FK REFERENCES batches(bcode), 
name varchar2(30), 
gender char(1) CONSTRAINT students_gender_chk check(upper(gender) in ('M','F')), 
dj date, 
phone varchar2(10), 
email varchar2(30) 
); 

CREATE TABLE courses ( 
ccode  VARCHAR2(10) CONSTRAINT courses_PK PRIMARY KEY, 
cname  VARCHAR2(50), 
coursefee NUMBER(6), 
prereq VARCHAR2(100) 
); 

CREATE TABLE faculty (
fcode  VARCHAR2(5) CONSTRAINT faculty_PK PRIMARY KEY, 
name  VARCHAR2(50) 
); 
+0

的序列?? – aschipfl

回答

2

首先創建您的教師和課程表。由於批次取決於其中一個表,因此您希望先創建這些表。

CREATE TABLE courses ( 
ccode  VARCHAR2(10) CONSTRAINT courses_PK PRIMARY KEY, 
cname  VARCHAR2(50), 
coursefee NUMBER(6), 
prereq VARCHAR2(100) 
); 

CREATE TABLE faculty (
fcode  VARCHAR2(5) CONSTRAINT faculty_PK PRIMARY KEY, 
name  VARCHAR2(50) 
); 


CREATE TABLE batches (
bcode varchar2(5) CONSTRAINT batches_PK PRIMARY KEY, 
ccode varchar2(5) CONSTRAINT batches_ccode_FK REFERENCES COURSES(ccode), 
fcode varchar2(5) CONSTRAINT batches_fcode_FK REFERENCES FACULTY(fcode), 
stdate date CONSTRAINT batches_stdate_nn not null, 
enddate date, 
timing number(1) CONSTRAINT batches_timing_chk check(timing in (1,2,3)), 
CONSTRAINT batches_date_chk check (stdate <= enddate) 
); 

CREATE TABLE students (
rollno number(5) CONSTRAINT students_PK PRIMARY KEY, 
bcode varchar2(5) CONSTRAINT students_bcode_FK REFERENCES batches(bcode), 
name varchar2(30), 
gender char(1) CONSTRAINT students_gender_chk check(upper(gender) in ('M','F')), 
dj date, 
phone varchar2(10), 
email varchar2(30) 
); 

示例:http://sqlfiddle.com/#!4/91909c/1示出了該如何鏈接到[標籤:批處理文件]表創建