失效链接处理 |
OraclePL_SQL程序设计第6版 下册 PDF 下载
本站整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/1743253372.html
相关截图:
资料简介: 《Oracle PL SQL程序设计(第6版)》基于Oracle数据库12C,从用PL SQL编程、PL SQL程序结构、PL SQL程序数据、PL SQL中的SQL、构造PL SQL应用程序、高级PL SQL主题这6个方面详细而系统地讨论了PL SQL以及如何有效地使用它。本书能够帮助你充分利用PL SQL来解决数据库开发中遇到的各种问题,引导你掌握各种构建应用的技巧和技术,以便使你编写出高效、可维护的代码。本书不但介绍了大量Oracle数据库12C的PL SQL新性能,还提供了许多优化PL SQL性能的新方法。《Oracle PL SQL程序设计(第6版)》结构清晰,示例丰富,实践性强,适用于Oracle数据库开发人员、Oracle数据库管理员等相关数据库从业人员,也可以作为各大、中专院校相关专业师生的参考用书和相关培训机构的培训教材 资料目录: 目录(下) 第5部分 构造PL SQL应用程序 第17章 过程、函数和参数497 17.1 代码模块化497 17.2 过程499 17.2.1 调用一个过程501 17.2.2 过程头部501 17.2.3 过程体501 17.2.4 END标签502 17.2.5 RETURN语句502 17.3 函数502 17.3.1 函数的结构503 17.3.2 返回的数据类型504 17.3.3 END标签506 17.3.4 调用函数506 17.3.5 不带参数的函数507 17.3.6 函数头508 17.3.7 函数体508 17.3.8 RETURN语句509 17.4 参数510 17.4.1 定义参数511 17.4.2 实参和形参511 17.4.3 参数模式512 17.4.4 在PL SQL中显式地关联 实参和形参515 17.4.5 NOCOPY参数模式限定符519 17.4.6 缺省值519 17.5 局部或者嵌套模块520 17.5.1 使用局部模块的益处521 17.5.2 局部模块的作用范围523 17.5.3 用局部模块使得代码更 整洁524 17.6 模块的重载524 17.6.1 重载的益处525 17.6.2 重载的限制528 17.6.3 数字类型的重载528 17.7 前置声明529 17.8 高级主题530 17.8.1 在SQL内部调用我们的 函数530 17.8.2 表函数536 17.8.3 确定性函数545 17.8.4 隐式游标结果(Oracle 数据库12c)546 17.9 将模块化进行到底547 第18章 程序包548 18.1 为什么使用程序包548 18.1.1 演示程序包的能力549 18.1.2 与程序包相关的一些概念552 18.1.3 图示私有性553 18.2 构建程序包的规则554 18.2.1 程序包说明554 18.2.2 包体555 18.2.3 包的初始化557 18.3 包元素的调用规则561 18.4 使用包数据562 18.4.1 在一个Oracle会话内全局 可见562 18.4.2 全局公有数据563 18.4.3 包游标563 18.4.4 包的串行化568 18.5 何时使用包570 18.5.1 封装对数据的访问570 18.5.2 避免直接量的硬编码573 18.5.3 提高内置特性的可用性575 18.5.4 把逻辑上相关的功能组织 在一起576 18.5.5 缓存静态的会话数据576 18.6 包和对象类型577 第19章 触发器578 19.1 DML触发器579 19.1.1 DML触发器的概念580 19.1.2 创建DML触发器581 19.1.3 DML触发器的例子:严禁 作弊!586 19.1.4 同一类型的多个触发器591 19.1.5 如何对触发顺序排序592 19.1.6 突变表的错误594 19.1.7 复合触发器:聚在一处595 19.2 DDL触发器598 19.2.1 创建DDL触发器598 19.2.2 可用事件600 19.2.3 可用属性601 19.2.4 使用事件和属性602 19.2.5 删除不可删除的606 19.2.6 INSTEAD OFCREATE 触发器606 19.3 数据库事件触发器607 19.3.1 创建数据库事件触发器608 19.3.2 STARTUP触发器609 19.3.3 SHUTDOWN触发器610 19.3.4 LOGON触发器610 19.3.5 LOGOFF触发器610 19.3.6 SERVERERROR触发器611 19.4 INSTEAD OF触发器615 19.4.1 创建INSTEAD OF触发器615 19.4.2 INSTEAD OF INSERT 触发器616 19.4.3 INSTEAD OF UPDATE 触发器618 19.4.4 INSTEAD OF DELETE 触发器619 19.4.5 填充表619 19.4.6 嵌套表的lNSTEAD OF 触发器620 19.5 AFTER SUSPEND触发器621 19.5.1 建立AFTER SUSPEND 触发器622 19.5.2 看看真实的触发器623 19.5.3 ORA_SPACE_ERROR_lNFO 函数624 19.5.4 DBMS_RESUMABLE包625 19.5.5 捕获多个时间626 19.5.6 是否该处理?627 19.6 维护触发器628 19.6.1 禁用、启用以及删除 触发器628 19.6.2 创建一个禁用的触发器628 19.6.3 查看触发器629 19.6.4 检查触发器的有效性630 第20章 管理PL SQL代码631 20.1 管理数据库内的代码632 20.1.1 数据字典视图概述632 20.1.2 显示存储对象的信息634 20.1.3 源代码的显示和搜索635 20.1.4 根据程序的大小确定Pinning 需求637 20.1.5 获得存储代码的属性637 20.1.6 通过视图分析和更改触发器 状态638 20.1.7 分析参数信息639 20.1.8 分析标识符的使用(Oracle 数据库11g的PL Scope)640 20.2 管理依赖关系及重编译 代码643 20.2.1 通过数据字典视图分析依赖 关系643 20.2.2 细粒度依赖(Oracle 数据库11g)647 20.2.3 远程依赖648 20.2.4 Oracle的远程调用模式的 限制650 20.2.5 重编译无效的程序单元651 20.3 编译时刻警告655 20.3.1 一个快速示例655 20.3.2 开启编译时刻告警656 20.3.3 一些有用的警告657 20.4 测试PL SQL程序664 20.4.1 典型的、华而不实的测试 技术665 20.4.2 PL SQL代码测试的一般 建议668 20.4.3 PL SQL的自动测试选项669 20.5 跟踪PL SQL的执行670 20.5.1 DBMS_UTILITY.FORMAT_ CALL_STACK671 20.5.2 UTL_CALL_STACK(Oracle 数据库12c)673 20.5.3 DBMS_APPLICATION_ INFO676 20.5.4 使用opp_trace进行跟踪677 20.5.5 DBMS_TRACE工具包678 20.6 PL SQL程序的调试681 20.6.1 错误的调试方法682 20.6.2 调试技巧和策略683 20.7 使用白名单来控制对程序 单元的访问687 20.8 存储代码的保护689 20.8.1 封装的约束和局限690 20.8.2 使用封装程序690 20.8.3 使用DBMS_DDL进行动态 封装690 20.8.4 封装代码的使用指导691 20.9 基于版本的重定义(Oracle 数据库11g R2版本)692 第21章 PL SQL的性能优化695 21.1 辅助优化的工具696 21.1.1 内存使用分析696 21.1.2 发现PL SQL代码中的瓶颈697 21.1.3 计算花费时间701 21.1.4 选择最快的程序703 21.1.5 避免无限循环704 21.1.6 性能相关的警告706 21.2 优化编译器706 21.2.1 优化器工作原理707 21.2.2 循环Fetch操作的运行 时优化710 21.3 数据缓存技术710 21.3.1 基于包的缓存711 21.3.2 确定性函数的缓存716 21.3.3 函数结果缓存(Oracle 数据库11g)718 21.3.4 缓存总结731 21.4 重复的SQL的语句批 处理732 21.4.1 通过BULK COLLECT加速 查询733 21.4.2 使用FORALL加速DML739 21.5 利用管道化的表函数提升 性能749 21.5.1 用基于管道化函数的加载 方式替换基于行的插入750 21.5.2 用管道函数调优Merge 操作756 21.5.3 用并行管道函数进行异步 数据导出758 21.5.4 并行管道函数中的分区和 流子句对性能的影响761 21.5.5 管道函数和基于成本的 优化器763 21.5.6 用管道函数优化负载的数据 加载768 21.5.7 管道函数结束语775 21.6 专用的优化技术775 21.6.1 使用NOCOPY参数模式 提示符775 21.6.2 使用正确的数据类型778 21.6.3 SQL(12.1及更高版本)的 函数性能优化779 21.7 性能回顾780 第22章 I O操作和PL SQL781 22.1 显示信息781 22.1.1 启用DBMS_OUTPUT782 22.1.2 向缓存中写入行782 22.1.3 从缓存中读取内容783 22.2 文件的读写784 22.2.1 UTL_FILE_DIR参数784 22.2.2 使用Oracle目录786 22.2.3 打开文件787 22.2.4 文件已经打开了吗?789 22.2.5 关闭文件789 22.2.6 读取文件790 22.2.7 向文件中写792 22.2.8 复制文件795 22.2.9 删除文件795 22.2.10 改名和移动文件796 22.2.11 提取文件属性797 22.3 发送邮件798 22.3.1 Oracle的前提条件798 22.3.2 设置网络安全799 22.3.3 发送一个短的(小于32767字 节)的纯文本消息799 22.3.4 在邮件地址中加上“界面友 好的”的名字801 22.3.5 发送任意长度的纯文本 消息802 22.3.6 发送带有小附件(小于32767 字节)的消息803 22.3.7 以附件形式发送一个小文件 (小于32767字节)805 22.3.8 任意大小的附件805 22.4 使用基于Web的数据 (HTTP)808 22.4.1 “分片”获得一个Web页面808 22.4.2 把页面提取到一个LOB中809 22.4.3 使用HTTP的用户名 密码 验证810 22.4.4 获取一个SSL加密的Web页面 (使用HTTPS)811 22.4.5 通过GET或者POST向Web页 面提交数据812 22.4.6 禁用cookie或者使cookie 持久化816 22.4.7 从FTP服务器获取数据816 22.4.8 使用代理服务器817 22.5 PL SQL中可用的其他I O 类型817 22.5.1 数据库管道、队列、告警817 22.5.2 TCPSocket818 22.5.3 Oracle的内置Web服务器818 第6部分 高级PL SQL主题 第23章 应用系统安全与 PL SQL821 23.1 安全概述821 23.2 加密822 23.2.1 密钥长度823 23.2.2 算法824 23.2.3 填补和连接825 23.2.4 DBMS_CRYPTO包825 23.2.5 数据加密827 23.2.6 LOB的加密830 23.2.7 安全文件830 23.2.8 数据解密831 23.2.9 生成密钥832 23.2.10 密钥的管理833 23.2.11 加密哈希838 23.2.12 使用消息验证码839 23.2.13 使用透明数据加密 (TDE)841 23.2.14 透明的表空间加密843 23.3 行级安全844 23.3.1 为什么要学习RLS846 23.3.2 一个简单的RLS示例847 23.3.3 静态与动态策略850 23.3.4 使用列敏感的RLS854 23.3.5 RLS调试857 23.4 应用程序上下文861 23.4.1 使用应用程序上下文862 23.4.2 上下文的安全863 23.4.3 把上下文用作RLS的谓词 条件863 23.4.4 识别出非数据库的用户867 23.5 细粒度审计868 23.5.1 为什么要学习FGA869 23.5.2 一个简单的FGA示例870 23.5.3 访问多少列872 23.5.4 查看审计跟踪信息873 23.5.5 使用绑定变量874 23.5.6 使用句柄模块875 第24章 PL SQL架构877 24.1 DIANA877 24.2 Oracle如何执行PL SQL 代码878 24.2.1 一个示例879 24.2.2 编译器的限制881 24.3 PL SQL的缺省包882 24.4 执行权限模型884 24.4.1 定义者权限模型885 24.4.2 调用者权限模型889 24.4.3 组合权限模型891 24.4.4 给PL SQL程序单元授予角色 (Oracle数据库12c)892 24.4.5 “谁调用了我?”函数 (Oracle数据库12c)895 24.4.6 视图的BEQUEATH CURRENT_ USER子句(Oracle数据库 12c)895 24.4.7 调用者权限优点的限制 (Oracle数据库12c)897 24.5 条件编译898 24.5.1 条件编译的示例899 24.5.2 查询指令900 24.5.3 $IF指令903 24.5.4 $ERROR指令904 24.5.5 将代码与包常量同步905 24.5.6 用查询指令实现程序专有 设置906 24.5.7 使用预处理后的代码907 24.6 PL SQL和数据库实例 内存908 24.6.1 SGA、PGA和UGA908 24.6.2 游标、内存及其他909 24.6.3 减少内存使用的技巧910 24.6.4 内存用光了怎么办920 24.7 原生式编译922 24.7.1 什么时候使用解释模式922 24.7.2 什么时候使用原生模式922 24.7.3 原生编译和数据库版本923 24.8 一些须知923 第25章 PL SQL的全球化和 本地化925 25.1 概述和术语926 25.2 Unicode入门928 25.2.1 国家字符集的数据类型929 25.2.2 字符编码929 25.2.3 和全球化支持相关的参数930 25.2.4 Unicode函数931 25.3 字符语义938 25.4 字符串排序顺序941 25.4.1 二进制排序942 25.4.2 单语言排序943 25.4.3 多语言排序945 25.5 多语言信息检索946 25.5.1 信息检索和PL SQL948 25.6 日期 时间950 25.6.1 时间戳数据类型951 25.6.2 日期 时间格式952 25.7 货币转换955 25.8 PL SQL的全球化开发 工具箱957 25.8.1 UTL_I18N工具包957 25.8.2 UTL_LMS异常处理包960 25.8.3 GDK实现选项961 第26章 PL SQL的面向对象 特性963 26.1 Oracle对象特性的介绍963 26.2 对象类型示例965 26.2.1 创建一个基类966 26.2.2 创建子类型967 26.2.3 方法968 26.2.4 在Oracle数据库11g及以后 版本中调用父类的方法972 26.2.5 保存、提取、使用持久化 对象974 26.2.6 演变和创建981 26.2.7 回到指针吗?983 26.2.8 泛化数据:ANY类型989 26.2.9 我们自己做993 26.2.10 对象的比较996 26.3 对象视图1001 26.3.1 一个关系型系统的示例1002 26.3.2 带有集合属性的对象视图1003 26.3.3 对象子视图1006 26.3.4 带有反关系的对象视图1008 26.3.5 INSTEAD OF触发器1008 26.3.6 对象视图和对象表的区别1010 26.4 维护对象类型和对象视图1012 26.4.1 数据字典1012 26.4.2 权限1013 26.5 来自一个关系开发者的总结 思考(C551, E1200)1015 第27章 从PL SQL中调用 Java1017 27.1 Oracle和Java1017 27.2 准备好在Oracle中使用 Java1018 27.2.1 安装Java1019 27.2.2 创建和编译我们的Java 代码1019 27.2.3 设置Java开发和执行的 权限1020 27.3 一个简单的演示1022 27.3.1 查找Java功能1023 27.3.2 创建一个自定义Java类1023 27.3.3 编译和加载到Oracle1025 27.3.4 创建一个PL SQL的 包装器1026 27.3.5 从PL SQL删除文件1027 27.4 使用loadjava1028 27.5 使用dropjava1030 27.6 管理数据库中的Java1030 27.6.1 Oracle中的Java命名空间1030 27.6.2 检查加载的Java元素1031 27.7 使用DBMS_JAVA1032 27.7.1 LONGNAME:转换Java 长名字1032 27.7.2 GET_、SET_和RESET_ COMPILER_OPTION: 得到和设置(一些) 编译器选项1033 27.7.3 SET_OUTPUT:允许从 Java中输出1034 27.7.4 EXPORT_SOURCE、EXPORT_ RESOURCE和EXPORT_ CLASS:导出模式对象1034 27.8 在PL SQL中发布与 使用Java1036 27.8.1 调用规范1036 27.8.2 一些调用规范的规则1037 27.8.3 映射数据类型1038 27.8.4 在SQL中调用Java方法1039 27.8.5 Java的异常处理1040 27.8.6 扩展文件I O功能1042 27.8.7 其他示例1046 第28章 外部过程1049 28.1 外部过程介绍1050 28.1.1 示例:调用一个系统命令1050 28.1.2 外部过程的架构1052 28.2 Oracle网络配置1053 28.2.1 定义监听配置1053 28.2.2 配置的安全特性1055 28.3 设置多线程模式1056 28.4 创建一个Oracle库1058 28.5 编写调用规范1059 28.5.1 调用规范:整体语法1060 28.5.2 参数映射:示例重温1061 28.5.3 参数映射:完整的内容1063 28.5.4 更多的语法:参数子句1064 28.5.5 参数属性1065 28.6 从调用的C程序中引发 一个异常1068 28.7 非默认的代理1071 28.8 维护外部过程1073 28.8.1 删除库1073 28.8.2 数据字典1074 28.8.3 规则和警示1074 附录A 正则表达式元字符和函数 参数1075 附录B 数字格式模型1080 附录C 日期格式模型1083 |