返回首页
苏宁会员
购物车 0
易付宝
手机苏宁

服务体验

店铺评分与同行业相比

用户评价:----

物流时效:----

售后服务:----

  • 服务承诺: 正品保障
  • 公司名称:
  • 所 在 地:

  • Oracle PL/SQL程序设计 第6版(全2册) (美)史蒂芬·弗伊尔斯坦,(美)比尔·普里比尔 著 方鑫 译
  • 新华书店正版
    • 作者: (美)史蒂芬·弗伊尔斯坦,(美)比尔·普里比尔著 | | 方鑫译
    • 出版社: 人民邮电出版社
    • 出版时间:2022-04-01 00:00:00
    送至
  • 由""直接销售和发货,并提供售后服务
  • 加入购物车 购买电子书
    服务

    看了又看

    商品预定流程:

    查看大图
    /
    ×

    苏宁商家

    商家:
    文轩网图书旗舰店
    联系:
    • 商品

    • 服务

    • 物流

    搜索店内商品

    商品分类

         https://product.suning.com/0070067633/11555288247.html

     

    商品参数
    • 作者: (美)史蒂芬·弗伊尔斯坦,(美)比尔·普里比尔著| 方鑫译
    • 出版社:人民邮电出版社
    • 出版时间:2022-04-01 00:00:00
    • 版次:2
    • 印次:12
    • 印刷时间:2022-04-01
    • 页数:1120
    • 开本:16开
    • 装帧:平装
    • ISBN:9787115448750
    • 国别/地区:中国
    • 版权提供:人民邮电出版社

    Oracle PL/SQL程序设计 第6版(全2册)

    作  者:(美)史蒂芬·弗伊尔斯坦,(美)比尔·普里比尔 著 方鑫 译
    定  价:199.8
    出 版 社:人民邮电出版社
    出版日期:2022年04月01日
    页  数:1120
    装  帧:平装
    ISBN:9787115448750
    主编推荐

    1.讲解了PL/SQL的特性和功能,涵盖了直到Oracle数据库12c R1版本发生的新变化。 2.提供了丰富的代码示例,穿插了程序开发人员才能看懂的小幽默,并提供了实践来帮助大家解决真实世界中的问题。 3.借助于有关执行、跟踪、调试和管理代码的清晰指导,快速编写和运行PL/SQL程序; 4.学习12.1版本的新特性,包括ACCESIBLE_BY子句、WITH FUNCTION和UDF杂注以及视图的BEQUEATH CURRENT_USER权限;

    内容简介

    《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数据库管理员等相关数据库从业人员,也可以作为各大、中专院校相关专业师生的参考用书和相关培训机构的培训教材。

    作者简介

     

    精彩内容

    目录
    (上)
    第1部分 用PL/SQL编程
    第1章 PL/SQL介绍3
    1.1 什么是PL/SQL3
    1.2 PL/SQL的起源4
    1.2.1 早期的PL/SQL4
    1.2.2 提高应用的可移植性4
    1.2.3 提高执行权限控制和交易完整性5
    1.2.4 低调开始,持续改进5
    1.3 这就是PL/SQL6
    1.3.1 与SQL的集成6
    1.3.2 控制和条件逻辑7
    1.3.3 出错处理8
    1.4 关于PL/SQL版本9
    1.4.1 Oracle数据库12c中PL/SQL的新特性10
    1.5 可供PL/SQL开发者使用的资源12
    1.5.1 O’Reilly的PL/SQL系列图书13
    1.5.2 网络上的PL/SQL资源14
    1.6 一些建议15
    1.6.1 别急,慢慢来15
    1.6.2 不要畏惧寻求帮助16
    1.6.3 采用有创造性的甚至激进的方法17
    第2章 创建和运行PL/SQL代码18
    2.1 在数据库中导航18
    2.2 创建和编辑源代码19
    2.3 SQL*Plus19
    2.3.1 启动SQL*Plus21
    2.3.2 运行SQL语句22
    2.3.3 运行PL/SQL程序22
    2.3.4 运行一个脚本24
    2.3.5 什么是“当前目录”24
    2.3.6 其他SQL*Plus任务25
    2.3.7 SQL*Plus中的异常处理29
    2.3.8 为什么SQL*Plus让我们又爱又恨30
    2.4 执行基本的PL/SQL任务30
    2.4.1 创建存储程序31
    2.4.2 执行存储的程序33
    2.4.3 显示存储程序34
    2.4.4 存储程序的授权和别名35
    2.4.5 删除一个存储程序36
    2.4.6 隐藏存储程序的源代码36
    2.5 编辑PL/SQL的环境37
    2.6 从其他语言中调用PL/SQL37
    2.6.1 C语言,使用Oracle预编辑器(Pro*C)38
    2.6.2 Java:使用JDBC39
    2.6.3 Perl:使用Perl DBI和DBD::Oracle40
    2.6.4 PHP:使用Oracle扩展41
    2.6.5 PL/SQL Server Pages42
    2.6.6 其他43
    第3章 语言基础44
    3.1 PL/SQL块结构44
    3.1.1 匿名块46
    3.1.2 命名块47
    3.1.3 嵌套块47
    3.1.4 作用范围48
    3.1.5 规范SQL语句中对变量和列的引用49
    3.1.6 可见性51
    3.2 PL/SQL字符集54
    3.3 标识符56
    3.3.1 保留字57
    3.3.2 空白和关键字58
    3.4 直接量59
    3.4.1 NULL60
    3.4.2 在一个直接量字符串中嵌入
    单引号61
    3.4.3 数字直接量61
    3.4.4 布尔直接量62
    3.5 分号分隔符62
    3.6 注释63
    3.6.1 单行注释语法63
    3.6.2 多行注释语法63
    3.7 PRAGMA关键字64
    3.8 标签65
    第2部分 PL/SQL程序结构
    第4章 条件与顺序控制69
    4.1 IF语句69
    4.1.1 IF-THEN组合69
    4.1.2 IF-THEN-ELSE的组合71
    4.1.3 IF-THEN-ELSIF组合73
    4.1.4 避免IF语法陷阱73
    4.1.5 嵌套的IF语句75
    4.1.6 短路估算75
    4.2 CASE语句和表达式77
    4.2.1 简单的CASE语句77
    4.2.2 搜索CASE语句79
    4.2.3 嵌套CASE语句81
    4.2.4 CASE表达式81
    4.3 GOTO语句83
    4.4 NULL语句84
    4.4.1 提高程序的可读性84
    4.4.2 在标签后使用NULL84
    第5章 循环迭代处理86
    5.1 循环的基础知识86
    5.1.1 不同循环的示例86
    5.1.2 PL/SQL循环的结构88
    5.2 简单循环89
    5.2.1 终止简单循环:EXIT
    和EXIT WHEN89
    5.2.2 模仿REPEAT UNTIL循环90
    5.2.3 故意的无限循环91
    5.3 WHILE循环92
    5.4 数值型FOR循环93
    5.4.1 数值型FOR循环的规则94
    5.4.2 数值型FOR循环的示例94
    5.4.3 处理特殊增量95
    5.5 游标FOR循环96
    5.5.1 游标FOR循环的示例97
    5.6 循环标签98
    5.7 CONTINUE语句99
    5.8 迭代处理技巧102
    5.8.1 为循环索引使用可理解的
    名称102
    5.8.2 以正确的方式说再见102
    5.8.3 获取FOR循环执行的信息103
    5.8.4 循环SQL语句104
    第6章 异常处理106
    6.1 异常处理概念和术语106
    6.2 定义异常108
    6.2.1 声明命名异常108
    6.2.2 关联异常名称与错误代码109
    6.2.3 命名的系统异常112
    6.2.4 异常作用范围114
    6.3 引发异常115
    6.3.1 RAISE语句115
    6.3.2 使用RAISE_APPLICATION_
    ERROR116
    6.4 处理异常117
    6.4.1 内置错误函数118
    6.4.2 单一处理句柄中结合多个
    异常122
    6.4.3 未处理异常123
    6.4.4 未处理异常的传播123
    6.4.5 继续过去的异常125
    6.4.6 编写WHEN OTHERS处理
    代码127
    6.5 构建有效的错误管理架构129
    6.5.1 确定我们的异常管理策略129
    6.5.2 对不同类型异常进行标准化
    处理130
    6.5.3 程序特定错误代码的组织
    使用133
    6.5.4 使用标准的错误管理程序133
    6.5.5 使用自己的异常“对象”135
    6.5.6 创建常见错误处理的标准
    模板137
    6.6 充分利用PL/SQL错误
    管理138
    第3部分 PL/SQL程序数据
    第7章 使用程序数据141
    7.1 程序数据的命名141
    7.2 PL/SQL数据类型概述143
    7.2.1 字符数据143
    7.2.2 数字144
    7.2.3 日期、时间戳和时间间隔145
    7.2.4 布尔类型145
    7.2.5 二进制数据类型146
    7.2.6 ROWID146
    7.2.7 REF CURSOR146
    7.2.8 Internet数据类型147
    7.2.9 “Any”数据类型147
    7.2.10 用户自定义数据类型147
    7.3 程序数据的声明147
    7.3.1 声明一个变量148
    7.3.2 声明常量148
    7.3.3 NOT NULL语句149
    7.3.4 锚定声明149
    7.3.5 游标和表的锚151
    7.3.6 使用锚定声明的益处152
    7.3.7 NOT NULL数据类型的锚153
    7.4 程序员定义的子类型153
    7.5 数据类型转换154
    7.5.1 隐式类型转换155
    7.5.2 显式类型转换156
    第8章 字符串162
    8.1 字符串类型162
    8.1.1 VARCHAR2数据类型163
    8.1.2 CHAR数据类型164
    8.1.3 String子类型164
    8.2 使用字符串165
    8.2.1 指定字符串常量165
    8.2.2 不可打印字符167
    8.2.3 拼接字符串168
    8.2.4 处理大小写169
    8.2.5 传统的检索、提取和替换172
    8.2.6 填充174
    8.2.7 剪裁176
    8.2.8 正则表达式的检索、提取和
    替换177
    8.2.9 使用空字符串187
    8.2.10 混用CHAR和
    VARCHAR2188
    8.3 字符串函数快速参考190
    第9章 数字199
    9.1 数值型数字类型199
    9.1.1 NUMBER类型200
    9.1.2 PLS_INTEGER类型204
    9.1.3 BINARY_INTEGER类型205
    9.1.4 SIMPLE_INTEGER类型205
    9.1.5 BINARY_FLOAT和
    BINARY_DOUBLE类型207
    9.1.6 SIMPLE_FLOAT和
    SIMPLE_DOUBLE类型212
    9.1.7 数字子类型212
    9.2 数字转换213
    9.2.1 TO_NUMBER函数213
    9.2.2 TO_CHAR函数216
    9.2.3 CAST函数221
    9.2.4 隐式转换222
    9.3 数字运算符224
    9.4 数字函数224
    9.4.1 四舍五入和截断函数224
    9.4.2 三角函数225
    9.4.3 数字函数的快速参考225
    第10章 日期和时间戳230
    10.1 Datetime数据类型230
    10.1.1 声明日期时间变量233
    10.1.2 选择日期时间数据类型233
    10.2 获取当前日期和时间234
    10.3 INTERVAL数据类型236
    10.3.1 声明INTERVAL变量237
    10.3.2 什么时候使用INTERVAL238
    10.4 日期时间转换240
    10.4.1 从字符串到日期时间240
    10.4.2 从日期时间到字符串242
    10.4.3 使用时区245
    10.4.4 准确匹配需要格式掩码247
    10.4.5 让准确匹配更轻松248
    10.4.6 解释滑动窗口中两位数字的
    年份248
    10.4.7 把时区转换成字符串249
    10.4.8 用填充模式把输出补齐250
    10.5 日期和时间戳直接量251
    10.6 时间间隔的转换252
    10.6.1 从数字到时间间隔的转换252
    10.6.2 把字符串转换成间隔253
    10.6.3 时间间隔的格式化显示254
    10.7 时间间隔直接量254
    10.8 CAST和EXTRACT256
    10.8.1 CAST函数256
    10.8.2 EXTRACT函数258
    10.9 日期时间的算法258
    10.9.1 时间间隔和日期时间的
    算法259
    10.9.2 DATE数据类型的日期
    算法260
    10.9.3 计算两个日期时间之间的
    时间间隔260
    10.9.4 DATE和TIMESTAMP混合
    计算262
    10.9.5 时间间隔的加减运算263
    10.9.6 时间间隔的乘除运算264
    10.9.7 使用不受的时间间隔
    类型264
    10.10 日期/时间函数的快速
    参考266
    第11章 记录类型269
    11.1 PL/SQL中的记录269
    11.1.1 使用记录的好处270
    11.1.2 声明记录271
    11.1.3 程序员自定义的记录类型273
    11.1.4 使用记录类型275
    11.1.5 记录的比较281
    11.1.6 触发器伪记录282
    第12章 集合284
    12.1 集合概述285
    12.1.1 集合概念和术语285
    12.1.2 集合类型287
    12.1.3 集合示例288
    12.1.4 使用集合的场合291
    12.1.5 选择一个集合类型296
    12.2 集合方法(内置)297
    12.2.1 COUNT方法298
    12.2.2 DELETE方法299
    12.2.3 EXISTS方法300
    12.2.4 EXTEND方法300
    12.2.5 FIRST和LAST方法301
    12.2.6 LIMIT方法302
    12.2.7 PRIOR和NEXT方法303
    12.2.8 TRIM方法304
    12.3 使用集合305
    12.3.1 声明集合类型306
    12.3.2 集合变量的声明和初始化310
    12.3.3 用数据填充集合313
    12.3.4 访问集合内的数据318
    12.3.5 使用字符串索引的集合319
    12.3.6 复杂数据类型的集合324
    12.3.7 多级集合327
    12.3.8 在SQL中使用集合335
    12.4 嵌套表的多重集合操作342
    12.4.1 测试嵌套表是否相等及成员
    归属343
    12.4.2 检查元素是否是嵌套表的
    成员344
    12.4.3 执行不错别集合操作345
    12.4.4 嵌套表中的去重346
    12.5 schema级别集合的维护347
    12.5.1 必需的权限347
    12.5.2 集合和数据字典348
    第13章 其他数据类型349
    13.1 BOOLEAN类型349
    13.2 RAW数据类型350
    13.3 UROWID和ROWID数据
    类型351
    13.3.1 获取ROWID352
    13.3.2 使用ROWID352
    13.4 LOB数据类型353
    13.5 使用LOB354
    13.5.1 理解LOB定位符356
    13.5.2 LOB的空和NULL357
    13.5.3 向LOB中写入数据359
    13.5.4 读取LOB数据361
    13.5.5 BFILE的不同之处363
    13.5.6 SecureFiles和BasicFiles367
    13.5.7 临时LOB369
    13.5.8 原生的LOB操作372
    13.5.9 LOB转换函数376
    13.6 预定义的对象类型376
    13.6.1 XMLType类型376
    13.6.2 URI类型379
    13.6.3 Any类型381
    第4部分 PL/SQL中的SQL
    第14章 DML和事务管理387
    14.1 PL/SQL中的DML388
    14.1.1 DML简介388
    14.1.2 DML操作符的游标属性391
    14.1.3 从DML语句返回信息392
    14.1.4 DML和异常处理393
    14.1.5 DML和记录394
    14.2 事务管理397
    14.2.1 COMMIT语句397
    14.2.2 ROLLBACK语句398
    14.2.3 SAVEPOINT语句399
    14.2.4 SET TRANSACTION语句399
    14.2.5 LOCK TABLE语句400
    14.3 自治事务400
    14.3.1 定义自治事务401
    14.3.2 自治事务的规则和402
    14.3.3 事务的可见性403
    14.3.4 何时使用自治事务403
    14.3.5 创建自治日志记录机制404
    第15章 数据提取407
    15.1 游标基础408
    15.1.1 一些数据提取术语408
    15.1.2 典型的查询操作410
    15.1.3 游标属性介绍411
    15.1.4 在游标中引用PL/SQL
    变量413
    15.1.5 显式与隐式游标之间的
    选择414
    15.2 使用隐式游标414
    15.2.1 隐式游标示例415
    15.2.2 隐式游标的异常处理416
    15.2.3 隐式SQL游标的属性418
    15.3 使用显式游标419
    15.3.1 声明显式游标420
    15.3.2 打开显式游标423
    15.3.3 从显式游标获取424
    15.3.4 显式游标中的列别名425
    15.3.5 关闭显式游标426
    15.3.6 显式游标属性427
    15.3.7 游标参数429
    15.4 SELECT…FOR UPDATE432
    15.4.1 COMMIT释放锁定433
    15.4.2 WHERE CURRENT
    OF子句434
    15.5 游标变量和REF
    CURSOR435
    15.5.1 为什么使用游标变量436
    15.5.2 与静态游标的相似之处437
    15.5.3 声明REF CURSOR类型437
    15.5.4 声明游标变量438
    15.5.5 打开游标变量439
    15.5.6 从游标变量中提取数据440
    15.5.7 游标变量的使用规则442
    15.5.8 将游标变量作为参数传递445
    15.5.9 游标变量的约束447
    15.6 游标表达式447
    15.6.1 使用游标表达式448
    15.6.2 游标表达式的约束450
    第16章 动态SQL和动态
    PL/SQL451
    16.1 NDS语句452
    16.1.1 EXECUTE IMMEDIATE
    语句452
    16.1.2 OPEN FOR语句455
    16.1.3 4种动态SQL方法460
    16.2 绑定变量462
    16.2.1 参数模式463
    16.2.2 重复的占位符465
    16.2.3 传递NULL值465
    16.3 使用对象和集合466
    16.4 动态PL/SQL468
    16.4.1 建立动态PL/SQL块469
    16.4.2 用动态块替换重复代码470
    16.5 NDS建议471
    16.5.1 对共享程序使用调用者
    权限471
    16.5.2 预测并处理动态错误472
    16.5.3 使用绑定而非拼接474
    16.5.4 减少代码注入的危险475
    16.6 何时使用DBMS_SQL478
    16.6.1 获得查询列信息478
    16.6.2 实现第四种方法的动态
    SQL需求479
    16.6.3 最小化动态游标解析485
    16.6.4 Oracle数据库11g新动态
    SQL特性486
    16.6.5 DBMS_SQL增强安全490
    (下)
    第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

    售后保障

    最近浏览

    猜你喜欢

    该商品在当前城市正在进行 促销

    注:参加抢购将不再享受其他优惠活动

    x
    您已成功将商品加入收藏夹

    查看我的收藏夹

    确定

    非常抱歉,您前期未参加预订活动,
    无法支付尾款哦!

    关闭

    抱歉,您暂无任性付资格

    此时为正式期SUPER会员专享抢购期,普通会员暂不可抢购