图书介绍
Oracle PL/SQL程序设计 下 第6版PDF|Epub|txt|kindle电子书版本网盘下载
![Oracle PL/SQL程序设计 下 第6版](https://www.shukui.net/cover/48/30455624.jpg)
- (美)Steven Feuerstein,(美)Bill Pribyl著;方鑫译 著
- 出版社: 北京:人民邮电出版社
- ISBN:7115448752
- 出版时间:2017
- 标注页数:1090页
- 文件大小:73MB
- 文件页数:602页
- 主题词:关系数据库系统-程序设计
PDF下载
下载说明
Oracle PL/SQL程序设计 下 第6版PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第5部分 构造PL/SQL应用程序497
第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嵌套表的INSTEAD OF触发器620
19.5 AFTER SUSPEND触发器621
19.5.1建立AFTER SUSPEND触发器622
19.5.2看看真实的触发器623
19.5.3 ORA SPACE ERROR INFO函数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.FORMATCALL 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数据库11 g 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主题821
第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使用dropj ava1030
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