Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5142362
  • 博文数量: 1696
  • 博客积分: 10870
  • 博客等级: 上将
  • 技术积分: 18357
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-30 15:16
文章分类
文章存档

2017年(1)

2016年(1)

2015年(1)

2013年(1)

2012年(43)

2011年(17)

2010年(828)

2009年(568)

2008年(185)

2007年(51)

分类: 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 和配套网站包含这些项目的答案。

阅读(1049) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~