Oracle复习 9

发布 2021-04-27 21:28:28 阅读 5712

1.配置数据库链接。

2.以账户info_**打开sqlplus登陆服务器。

如果要在sqlplus中屏显,需要执行命令set serveroutput on)

命令dbms_ 用于显示输出)

练习1]目的:根据学号查找姓名。

步骤:根据指定的stud_id的值(例如0401020103),从stud_info表中查找该生的name字段的值赋予v_name变量,最后输出‘学号×××的同学的名字叫×××的信息。

declare

v_studentid stud_ :0401020103';

v_name stud_

beginselect name into v_name from stud_info where stud_id = v_studentid;

dbms_'学号' |to_char(v_studentid) |的同学的名字叫' |v_name);

end;注:v_studentid stud_ :0401020103';

v_studentid变量的数据类型声明为stud_info表stud_id字段类型,赋与初始值'0401020103'

练习2] 根据教师编号查找教师姓名。

declare

v_teacherid teacher_ :010102';

v_name teacher_

beginselect name into v_name from teacher_info where teacher_id = v_teacherid;

dbms_'教师编号' |to_char(v_teacherid) |的教师是' |v_name);

end;练习3]模仿练习2,写一个程序块,对lesson_info表进行查找,根据指定的course_id,查找course_name,course_type和course_mark值,分别放在变量v_coursename和v_coursetype和v_coursemark中,输出查询结果。

练习4]新建表log_table,用于存储出错信息。

create table log_table (info varchar2(100));

练习5]给出学生的学号,查找学生,如果找不到,则在异常处理部分向log_table插入一条出错信息。

declare

v_studentid stud_ :0401020103';

v_name stud_

begin

-查找学号为v_studentid变量值的学生的姓名,赋予变量v_name

select name into v_name from stud_info where stud_id = v_studentid;

--如果能找到这个学生,输出信息。

dbms_'找到了学号'||v_studentid ||的学生!')

--异常处理部分。

exception

when no_data_found then

-如果查找不到数据,就将信息写入log_table表,并输出信息。

insert into log_table (info)

values ('学号为 ' v_studentid ||号的同学不存在!')

dbms_'学号'||v_studentid ||的学生不存在!')

end;练习6]模仿练习4,根据指定的stud_id和course_id的值,从stud_grade中查找grade字段的值,赋予变量v_grade,输出结果’学号:**课程号:**成绩**’在异常处理部分,如果找不到数据(when no_data_found then)向log_table表添加一条记录“学号:

**课程号***的考试成绩找不到”。

练习7]修改练习5,根据指定的学生name和课程course_name,查询学生name,course_name,grade信息,如果查不到就将信息插入log_table表。

%rowtype用法]

练习8]使用%rowtype做练习1

declare

v_studentid stud_ :0401010811';

v_student stud_info%rowtype;

beginselect * into v_student from stud_info where stud_ =v_studentid;

dbms_'学号' |to_char(v_ |的同学的名字叫' |v_

end;练习9]使用%rowtype改写练习3

练习10]使用%rowtype改写练习5

练习11]使用%rowtype改写练习7

练习12]根据指定学号,查询并显示输出学生是哪一个院系哪一个专业的学生,记录异常查询情况。

练习13]根据指定的课程名和教师名,查询该课程的开课院系,使用周数,所用教室名称,教室类型,教室设备和教室容量。

declare

v_coursename lesson_ :计算机专业英语';

v_teachername teacher_ :赵一欧';

r_teachschedule teach_schedule%rowtype;

v_deptname dept_

r_classroominfo classroom_info%rowtype;

beginselect * into r_teachschedule from teach_schedule where course_id=(select course_id from lesson_info where course_name=v_coursename) and teacher_id = select teacher_id from teacher_info where name = v_teachername);

select deptname into v_deptname from dept_code where deptcode = r_

select * into r_classroominfo from classroom_info where room_id = r_

dbms_ |r_

end;练习14]根据给定的教师编号teacher_id,查找该教师的姓名,性别,年龄,所教课程名称,类别,学分,学时,上课起始时间和上课周数。

oracle复习

oracle数据库的主要特点。支持多用户 大事务量的事务处理。数据安全性和完整性控制。支持分布式数据处理。可移植性。oracle服务器提供开放 全面和综合的信息管理,它由oracle数据库和oracle实例组成。管理数据库的后台进程和内存结构的集合称为 oracle 实例 oracle 数据库是一个...

Oracle复习

一 创建用户。在yggl数据库中创建一个用户manager,授予dba角色和sysdba系统权限,它可以替代system系统用户。connect system 123456 as sysdab create user manager profile default identified by man...

Oracle复习

oracle数据库管理与编程知识点。1.关系数据库基本理论 oracle应用结构。2.oracle体系结构 实例内存管理 sga pga 逻辑存储结构 表空间 段 区 块 物理存储结构 数据文件 控制文件 其他文件 3.sql plus工具的使用 设置环境变量 命令的编辑导入导出 查询结果格式化等 ...