oracle期末实验含答案

发布 2022-09-02 13:52:28 阅读 6451

1、数据库的建表语句,我们是必须要掌握的,其中,主外键的定义是一种数据库完整性的规范,我们也要掌握。

创建如下两个表:

course表

cid number 主键。

cname varchar2

create table course(

cid number primary key,cname varchar(30))

stu_course表 (组合主键 sid,cid)

sid number

sname varchar2

cid number 外键。

grade number

create table stu_course(

sid number,sname varchar(30),grade number,cid number,constraint pk_scid primary key(sid,cid), constraint fk_cid foreign key(cid) references course(cid))

2、向以上两个表各插入几条记录(随着下面的题目要求,你可以随时插入符合实验条件的记录)

insert into course values(4,'c++语言')

insert into stu_course values(1001,'张三',95,2)

3、查询每个表各有多少行记录。

4、查询学习3号课程的学生最高分数。

select max(grade) from stu_course where cid=3

5、查询”zhanghong”这名同学学习课程的课程名字。

select cname from stu_course,course

where sname='zhanghong'

and stu_

6、将学号98001同学选修3号课程的成绩改为90分。

7、把上题的修改撤销(再回到原来的成绩)

8、建立选修3号课程的学生视图。

create or replace view stu_view

as select * from stu_course where cid=3

9、求选修3号课程的课程平均分。

select **g(grade) from stu_course

where cid=3

10、用游标查询stu_course表中的所有信息,逐一输出。

declare

v_rowstu stu_course%rowtype;

cursor stu_cur1 is select * from stu_course;

begin

open stu_cur1;

fetch stu_cur1 into v_rowstu;

while stu_cur1%found loop

dbms_' v_' v_' v_

fetch stu_cur1 into v_rowstu;

end loop;

close stu_cur1;

end;11、创建一个存储过程getinfo_proc,通过输入参数学生学号sid,输出该学生的信息。对不存在的学生,要有异常处理。(这里可以利用隐性游标)

create or replace procedure getinfo_proc(v_sid in number)

is v_stu stu_course%rowtype;

begin

select * into v_stu from stu_course where sid=v_sid;

dbms_expection

when no_data_found

dbms_'该学生不存在!')

end;12、创建一个函数getmingrade,这个函数的功能是输入参数学生学号,函数返回这个学生选修课程的最低成绩是多少分。

create or replace function getmingrade(e_sid number)

return number

isv_grade stu_

beginselect min(grade) into v_grade from stu_course where e_sid=sid;

return v_grade;

end;declare

var_min number;

var_sid number;

beginvar_sid:=&inputsid;

var_min:=getmingrade(var_sid);

dbms_'最小成绩为:'|var_min);

end;

Oracle实验四答案

select initcap ename from emp 显示正好为5个字符的员工姓名。select ename from emp where length ename 5 显示不带有r的员工姓名。select from emp where ename not like r 显示所有员工的前三个字...

oracle实验二 表管理答案

实验二表管理。一 实验目的。1.熟悉创建表 修改表等相关命令。2.掌握表中数据的插入 修改 删除等数据操作。3.掌握数据的查询基础。二 实验要求。1.整理上机步骤,总结经验和体会。2.完成实验日志和上交程序。三 作业提交。1.建立以自己名字命名的文件夹,文件夹中包含两个文件夹,名字各为 实验成果,实...

答案实验五 ORACLE编程 一

oracle技术 实验报告 五 实验名称oracle编程 一 姓名学号班级。实验目的 1 熟练掌握编写和调试pl sql块的方法。2 熟练掌握编写和调试存储过程方法。3 熟练掌握编写和调试函数方法。4 熟练掌握各种控制结构语句的使用。实验内容 1 编写一个pl sql块,输出emp表中所有员工的员工...