Oracle PL/SQL开发教程:%type和%rowtype用法详解

需积分: 9 0 下载量 171 浏览量 更新于2024-07-22 收藏 352KB PDF 举报
Oracle9i开发指南深入探讨了PL/SQL编程语言在Oracle数据库中的应用。该书由清华大学出版社出版,作者Ben在2004年秋季整理,主要涵盖了以下关键知识点: 1. **%type用法**:这一章节介绍如何使用`%type`来提取SQL查询结果中字段的数据类型。在提供的示例中,`declare`部分声明了两个变量`myid`和`myname`,它们分别被赋值为`dept.id`和`dept.name`的类型。通过`select`语句将数据填充到这些变量中,然后使用`dbms_output.put_line`输出变量的值,展示了如何利用`%type`获取并处理字段类型。 2. **%rowtype用法**:此部分讲解了如何使用`%rowtype`来操作表的行类型。`%rowtype`允许程序员以记录集的形式访问一行或多行数据。在这个例子中,`typetable_of_dept`是一个动态数组,使用`%rowtype`作为索引类型,可以动态地为每个表行分配属性,如`tb(1).id`和`tb(2).id`,用来设置表中id字段的值。 3. **TYPE用法**:虽然这部分没有直接给出,但可能涉及用户自定义类型(USER-DEFINED TYPE)的创建和使用,用于组织和管理数据,提高代码的可重用性和可读性。 4. **游标(Cursor)的使用**:PL/SQL编程中,游标是遍历数据库结果集的重要工具,包括声明、打开、检索和关闭游标的过程。 5. **循环结构**:包括`for`循环、`loop`循环和`while`循环的使用,用于处理数据库操作中的迭代逻辑。 6. **条件控制结构**:如`if/else`和`case`语句,用于根据特定条件执行不同的代码块。 7. **错误处理**:书中详细解释了如何定义错误(`error`)、设置错误处理(`exception`),以及在遇到异常时的正确响应。 8. **存储过程与函数**:涵盖了存储过程的创建、调用,以及参数的三种调用模式(in、out、inout)。NOCOPY选项强调了按址调用的重要性。 9. **软件包与封装**:讨论了如何创建和调用软件包(PACKAGE),包括其全局结构和封装函数的纯度概念。 10. **查看源代码和权限管理**:介绍了如何查看数据库对象的源代码,以及用户账户的创建、登录权限的设置和回收。 11. **依赖管理**:涉及直接依赖、依赖查看和包之间的调用,确保代码的稳定性和可维护性。 12. **触发器**:讲解了触发器的创建、分类(如简单和复杂触发器)、条件谓词的使用,以及触发器中不能使用`Commit`的规则,甚至列举了系统触发器(如LOGON)的例子。 这本书提供了一个全面的基础框架,适合初学者和有经验的Oracle开发者深入了解PL/SQL编程语言及其在实际项目中的应用。