四川师范大学《oracle》实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

声明:此文档只作为学习参考,不得用作它途!

实验一了解ORACLE环境,使用ORACLE数据库实用工具

1.目的要求:

了解ORACLE数据库的各个常用工具软件

2.实验内容:

在ORACEL数据库下使用SQL*PLUS ,SQL*PLUS Worksheet,PL/SQL Developer 工具,企业管理器等实用工具与Oracle交互。并在企业管理器中观察ORACLE的底层存储原理。在PL/SQL Developer中书写简单的SQL语言。

3.主要仪器设备及软件

1)PC

2)ORACLE数据库

实验二熟悉SQL语言

1.目的要求

在SQL*PLUS或PL/SQL Developer工具中编写SQL语句

2.实验内容

在ORACLE 数据库中定义用户,给用户赋权限,创建,修改和删除表格,视图等数据库对象,并向表格中插入,修改和删除数据。体会SQL语言中ORACLE的“方言”。

对自己建立的表做查询:包括单表查询,多表查询,嵌套查询,分组查询,相关查询

3.主要仪器设备及软件

1)PC

2)ORACLE数据库

自定义用户:create user taozi identified by taozi;

给用户赋DBA权限:grant dba to taozi;

创建表格 student,sc,course:

Create table student

(sno char(10) primary key,

sname varchar(20) not null,

sage smallint,

ssex char(2),

sdept varchar(20));

Create table course

(cno char(10) primary key,

cname varchar(50) not null,

credit smallint);

Create table sc

(sno char(10),

cno char(10),

grade smallint,

primary key(sno,cno));

创建视图:create view oracle as (select sno,sname,sage from student);

删除视图:delete oracle;

为student 表增加一列 jiguan: alter table student add jiguan varchar(10);

删除jiguan 列:alter table student drop column jiguan;

删除student 表结构:drop table student;

插入数据:insert into student values('004','AA','21','f','MA');

insert into student values('005','BB','20','m','CS');

insert into student values('006','CC','20','m','E');

修改数据:update student set sname='DD' where sno='006';

删除数据:delete student where sno='004' or sno='005' or sno='006';

单表查询select * from student where sno='009';

多表查询:查询001号学生选修课成绩大于或等于85分的课程名及成绩

select sname,cname,grade from student,sc,course where student.sno='001' and grade>=85;

嵌套查询:查询选修了软件工程学生的学号

select sc.sno from sc,course where o=o and

o=(select cno from course where cname='软件工程');

分组查询:查询所有学生的姓名、所选课程的课程名,课程号和成绩,并按成绩降序和课程号升序排序。

select sname,cname, o,grade from student sc,course student where sc.sno=s.sno and o=o order by grade desc,cno asc;

相关查询:查询所有学生都选修了的课程名及课程号

select cno from sc group by cno having count(*)>=

(select count(*) from student );

实验三实现简单的PL/SQL程序

1.目的要求

编写简单的PL/SQL程序,熟悉PL/SQL编程环境

2.实验内容

在SQL*PLUS或PL/SQL Developer工具中编写PL/SQL的简单程序,熟悉PL/SQL 的编程环境和代码结构。实现与Oracle数据库交互,并捕获和处理常见系统异常和用户自定义异常。

3.主要仪器设备及软件

1)PC

2)ORACLE数据库

预定义异常处理

查询课程“java”的课程号,若未成功,则提示异常

v_cno varchar(40);

begin

select cno into v_cno from course where cname='java';

dbms_output.put_line('java对应的课程号是:'||v_cno);

exception when no_data_found then

dbms_output.put_line('该课程不存在。');

end;

查询既选修了001又选修了002课程的学生的学号,未成功则提示:该学生不存在。

declare

v_sno varchar(40);

begin

select sno into v_sno from sc where cno='001'and sno=(

select sno from sc where cno='002');

dbms_output.put_line('既选修了001又选修了002课程的学生:'||v_sno);

exception when no_data_found then

dbms_output.put_line('ERROR:该学生不存在!');

end;

查询“周源”的学号,若未成功,则插入‘周源’信息:学号59,性别F,学院CS 查询既选修了001又选修了002课程的学生的学号,未成功则提示:该学生不存在。declare

v_sno varchar(40);

begin

begin

select sno into v_sno from student where sname='DD';

dbms_output.put_line('DD的学号是:'||v_sno);

exception when no_data_found then

dbms_output.put_line('error:该学生不存在,插入该学生信息');

insert into student(sno,sname,ssex,sdept) values('59','DD','F','CS');

commit;

end;

相关文档
最新文档