分类: Oracle
2009-09-08 01:33:52
3.3 动手试验
在本章中,你已经学习如何在PL/SQL 语句块中使用很多SQL 技术。首先,学习如何使用SELECT INTO,以生成变量的值。然后,学习多种DML 方法,包括序列的使用。最后,学习如何通过使用SAVEPOINT 来管理事务。编写每个步骤的代码,运行代码,继续完成下个步骤,最终完成如下项目。
1)创建一个名为CHAP4 的表,包含2 个列:一个是ID(数字),另外一个是NAME(类型是VARCHAR2(20 。
2)创建一个名为CHAP4_SEQ 的序列,每次递增5。
3)编写能够按顺序完成如下任务的PL/SQL 语句块:
A)声明两个变量:v_name 和v_id。在整个语句块中,v_name 变量用于保存即将被插入的名称;要认识到随着课程的不同,变量的值会变化。
B)这个语句块会在这个数据库表中插入在大多数班级中注册的学生,并使用序列作为ID。随后定义SAVEPOINTA。
C)所注册班级最少的学生被插入到数据库。随后定义SAVEPOINT B。
D)按照同样的方式,注册教授大多数课程的教师。随后定义SAVEPOINT C。
E)使用SELECT INTO 语句,在变量v_id 中保存教师的名称。
F)使用回滚语句,以撤销教师插入操作。
G)插入教授最少班级的教师,但是不使用序列生成ID。相反地,使用撤销操作以来的第1 个教师的值。
H)插入教授最多班级的教师,并且使用序列来填充ID。
在该语句块的多个地方添加DBMS_OUTPUT,当变量的值发生变化时,显示变量的值。(这是常见的调试方法。)
本书的附录D 和配套网站包含这些项目的答案。