- 0
- 0
- 约7.1千字
- 约 26页
- 2018-05-02 发布于河南
- 举报
第07章 理论
PL/SQL子程序和包 课程安排 Oracle数据库基础概念 PL/SQL编程基础 PL/SQL程序控制结构 在PL/SQL中更改数据和管理事务 在PL/SQL中使用游标获取数据 动态SQL 开发PL/SQL子程序和包 使用PL/SQL开发触发器 JAVA操作数据库 总复习 回顾 动态SQL语句 原因 原理 绑定变量 动态SQL 本章大纲 子程序 存储过程 函数 存储过程 VS 函数 包 块 块 匿名块 在PL/SQL中,最小的执行单位就是块。 理解:所有代码都写在begin..end中来执行 命名块 优点:重用块代码,简化开发和维护,并提高系统性能 命名块分类 存储过程:能够完成一系列增删改查动作的PL/SQL块 函 数:只能计算的PL/SQL块,不能修改数据 触 发 器:某表上发生增删改事件时所自动执行的块 包、包体:管理存储过程和函数,类似容器的作用。 子程序 子程序分类 过程:又叫存储过程,Stored Procedure,简称:sp。 函数:function 触发器:trigger 子程序优点 模块化:一个过程完成一个模块(如计算税后工资) 可重用性:一次编写,反复调用 易维护:谁出错,修改谁 更高效:每个方法只编译一次;运行多次,但只在内存中加载一次。 易调试:可以利用工具单步调试(匿名块不能),实用。 存储过程 创建存储过程 与块的关系 存储过程头定义+块 = 存储过程 调用存储过程 call 存储过程(变量):JDBC中调用sp标准方式 exec 存储过程(变量):PL/SQL中调用,支持控制台输出 存储过程 案例 删除指定名称表格 特点:无参数存储过程 添加员工和部门(给出部门名,工号,姓名,工作日期) 特点:输入参数 添加指定员工,并返回员工总数 特点:输入参数,输出参数 根据员工号更新员工姓名(最大10位),并返回新姓名 特点:输入输出参数 存储过程 传递参数 根据位置传递 根据参数定义的顺序调用 根据名称传递 根据参数的名称调用,顺序可与定义时不同 混合传递 同时使用位置和名称传递。 演示 案例:添加部门信息,部门名称重复时要给出提示,然后通过三种方式调用。 存储过程 存储过程的管理 查看过程的源代码 删除过程 函数 为什么要函数 专门完成复杂的业务运算功能,并返回运算结果。 语法 函数 子程序 函数:能够完成计算并返回计算结果,注意不能修改数据。 示例:计算一个数的两倍后并返回。 函数 演示 案例一:计算两个数的和 案例二:查询指定部门人数 思考:如何让程序变得更强壮? 回答:使用异常,没有指定部门时可返回-1(同学自行完成)。 案例三:演示在函数中执行insert语句。 函数 函数的管理 查看函数的源代码 删除函数 函数 函数的用途 直接用于计算表达式的值 通常直接用于各种DML语句 函数的限制 在函数中不能修改数据。 存储过程 VS 函数 相同点 都有输入、输出、输入输出参数 都可以通过输出参数传递信息给外部 不同点 函数必须有返回值 函数不能修改数据 用途 存储过程:主要用数据修改和业务处理 函 数:只能用于数据计算 子程序的调试 演示: 开发自定义函数f_add( a NUMBER, b NUMBER)调试。 要点: 调试是开发复杂业务简单而有效的方法。 优秀是一种习惯,调试也是。 注意点: 输入参数不能修改值,而输出参数或输入输出参数才行。 本章大纲 子程序 包 包的概述 建立包 重载子程序 私有项与公有项 使用游标 包概述 为什么要用包 问题:在大型系统中,过程和函数非常多,如何管理? 解决:使用包将过程和函数分类管理。 包概念 表是数据库的一种对象,而包也是数据库中的一种对象。 表中保存的是数据,包中保存的是各种代码(过程、函数、变量类型等) 。 包 创建包 创建和使用包 包 包用于逻辑“包含”相关的过程和函数,它由包头和包体两部分组成。 示例:将前面的函数f_add定义在包中并调用。 重载子程序 重载子程序 在一个包中两个子程序名称相同,而参数不同。 参数不同:指参数类型、个数、顺序任何一种情况不同。 在调用时Oracle将自动根据参数类型调用对应子程序。 限制 如果两个子程序仅参数名称不同,则不算重载 参数类型相同,而返回类型不同,不算重载 重载的参数必须是基本类型。 包与游标 在包中游标 包 包的优点 模块化管理过程和函数 可以先在包中完成设计,而不必完成具体实现 可以利用包的私有子程序来隐藏信息 可以定义公有对象和对象来达到共享的目的,如通过游标传递数据 性能更高,因为包中一个子程序被调用,整个包都将被调用内存中。 查询子程序信息 查询子程序名称 查询子程序文本 命名规范 存储过程:
您可能关注的文档
最近下载
- 高中政治必修四哲学知识点总结.doc VIP
- 2026元旦主题班会:马年猜猜乐,马年成语(30词)课件(共34张PPT).pptx VIP
- 专升本《机械设计基础》专升本习题及答案(参考).doc VIP
- 导尿管亲水涂层润滑性能评价方法(编制说明).pdf VIP
- 智慧农业(精准种植 养殖)竞争格局分析报告_2025年12月.docx VIP
- L13D9 室外电缆工程标准图集.pptx VIP
- 高中政治必修四知识点总结.txt.pdf VIP
- 2025年云南省公务员省考《行测》联考真题(含答案).pdf VIP
- 2025年安徽自主招生语文试题及答案.docx
- 探寻三萜化合物关键合成基因:挖掘与生物合成的深度剖析.docx VIP
原创力文档

文档评论(0)