Oracle 通過dos命令來實現建庫建表

1.-- 連接

conn hu/aaa;

-- 創建表空間

Create tablespace computer2005 nologging datafile 'd:/oracle/product/10.2.0/oradata/test/computer.dbf' size 50m blocksize 8192 extent management local uniform size 256k segment space management auto;

-- 創建學生基本信息表

create table student(學號 varchar2(20 byte) not null,

                          姓名 varchar2(8 byte),

                          性別 varchar2(4 byte),

                          民族 varchar2(8 byte),

constraint pk_stud primary key(學號) using index tablespace computer2005

pctfree 10 initrans 2 maxtrans 255);

-- 創建課程信息表

create table course(課程編號 varchar2(5 byte) not null,

                      課程類型 varchar2(6 byte),

                      課程名 varchar2(20 byte),

                      周學時 integer,

                      任課教師 varchar2(10 byte),

                      開設學期 integer,

                      考覈方式 varchar2(4 byte),

constraint pk_cour primary key(課程編號) using index tablespace computer2005

pctfree 10 initrans 2 maxtrans 255);

-- 創建學生成績表

create table score(學號 varchar2(20 byte) not null,

                      課程編號 varchar2(5 byte) not null,

                      成績 number,

constraint pk_sc primary key(學號,課程編號)

using index tablespace computer2005 pctfree 10 initrans 2 maxtrans 255);

-- 添加外鍵

alter table score add constraint fk_stud_score foreign key(學號) references student(學號);

alter table score add constraint fk_cour_score foreign key(課程編號) references course(課程編號);

--移動表到工作表空間

alter table student move tablespace computer2005;

alter table course move tablespace computer2005;

alter table score move tablespace computer2005;

-- 使用SQL loader導入數據

host sqlldr hu/aaa control=d:/oracle/insert4.ctl log=d:/oracle/4.log

host sqlldr hu/aaa control=d:/oracle/insert5.ctl log=d:/oracle/5.log

host sqlldr hu/aaa control=d:/oracle/insert6.ctl log=d:/oracle/6.log

2.-- 創建用戶

create user hu identified by aaa;

-- 賦予權限

grant dba,connect to hu with admin option;

-- 連接

conn hu/aaa;

-- 創建表空間

create tablespace student_app nologging datafile 'd:/oracle/product/10.2.0/oradata/test/student.dbf' size 50m blocksize 8192 extent management local uniform size 256k segment space management auto;

-- 創建學生基本信息表

create table 學生基本信息(學號 varchar2(20 byte) not null,

                          姓名 varchar2(8 byte),

                          性別 varchar2(4 byte),

                          民族 varchar2(8 byte),

constraint pk_baseinfo primary key(學號) using index tablespace student_app

pctfree 10 initrans 2 maxtrans 255);

-- 創建課程信息表

create table 課程信息(課程編號 varchar2(5 byte) not null,

                      課程類型 varchar2(6 byte),

                      課程名 varchar2(20 byte),

                      周學時 integer,

                      任課教師 varchar2(10 byte),

                      開設學期 integer,

                      考覈方式 varchar2(4 byte),

constraint pk_course primary key(課程編號) using index tablespace student_app

pctfree 10 initrans 2 maxtrans 255);

-- 創建學生成績表

create table 學生成績(學號 varchar2(20 byte) not null,

                      課程編號 varchar2(5 byte) not null,

                      成績 number,

constraint pk_grade primary key(學號,課程編號)

using index tablespace student_app pctfree 10 initrans 2 maxtrans 255);

-- 添加外鍵

alter table 學生成績 add constraint fk_info_grade foreign key(學號) references 學生基本信息(學號);

alter table 學生成績 add constraint fk_course_grade foreign key(課程編號) references 課程信息(課程編號);

--移動表到工作表空間

alter table 學生基本信息 move tablespace student_app;

alter table 課程信息 move tablespace student_app;

alter table 學生成績 move tablespace student_app;

-- 使用SQL lpader導入數據

host sqlldr hu/aaa control=d:/oracle/insert1.ctl log=d:/oracle/1.log

host sqlldr hu/aaa control=d:/oracle/insert2.ctl log=d:/oracle/2.log

host sqlldr hu/aaa control=d:/oracle/insert3.ctl log=d:/oracle/3.log

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章