Oracle PL/SQL程序设计 上 第5版PDF电子书下载
- 电子书积分:16 积分如何计算积分?
- 作 者:(美)弗伊尔斯坦,(美)普瑞拜尔著;张晓明译
- 出 版 社:北京:人民邮电出版社
- 出版年份:2011
- ISBN:7115231437
- 页数:540 页
第1部分 PL/SQL编程 3
第1章 PL/SQL概述 3
1.1什么是PL/SQL? 3
1.2 PL/SQL的起源 4
1.2.1早期的PL/SQL 4
1.2.2改进的应用程序移植能力 5
1.2.3改进的执行授权和事务一致性 5
1.2.4低调地起步,稳定地前进 6
1.3这就是PL/SQL 6
1.3.1与SQL整合 7
1.3.2控制和条件逻辑 8
1.3.3出现错误了 9
1.4关于PL/SQL的版本 10
1.4.1 Oracle数据库11g的新特性 12
1.5 PL/SQL开发人员的资源 15
1.5.1 O’Reilly PL/SQL系列 16
1.5.2网络上的PL/SQL 17
1.6一些建议 18
1.6.1不要太着急 18
1.6.2不要怕寻求帮助 19
1.6.3采用一种创建新的甚至激进的方法 20
第2章 创建并运行PL/SQL代码 21
2.1在数据库中导航 21
2.2创建和编辑源代码 22
2.3 SQL*Plus 23
2.3.1启动SQL*Plus 24
2.3.2运行一个SQL语句 26
2.3.3运行PL/SQL程序 26
2.3.4运行脚本 28
2.3.5什么是“当前目录” 29
2.3.6其他SQL*Plus任务 30
2.3.7 SQL*Plus中的错误处理 34
2.3.8喜欢或者讨厌SQL*Plus的原因 4
2.4执行必要的PL/SQL任务 35
2.4.1创建存储过程 35
2.4.2执行存储过程 39
2.4.3显示存储过程 39
2.4.4存储程序的授权和别名 40
2.4.5删除存储程序 41
2.4.6隐藏存储过程的源代码 41
2.5编辑PL/SQL的环境 42
2.6在其他语言中调用PL/SQL 43
2.6.1 C:使用Oracle的预编译器(Pro*C) 44
2.6.2 Java:使用JDBC 45
2.6.3 Perl:使用Perl DBI和DBD::Oracle 46
2.6.4 PHP:使用Oracle扩展 47
2.6.5 PL/SQL Server Pages 48
2.6.6其他 49
第3章 语言基础 50
3.1 PL/SQL块结构 50
3.1.1匿名块 52
3.1.2命名块 53
3.1.3嵌套块 54
3.1.4作用范围 55
3.1.5规范SQL语句中所有对变量和列的引用 56
3.1.6可见性 58
3.2 PL/SQL字符集 61
3.3标识符 63
3.3.1保留字 64
3.3.2空白和关键词 66
3.4直接量 66
3.4.1 NULL 67
3.4.2在一个直接量字符串中嵌入单引号 68
3.4.3数字直接量 69
3.4.4布尔直接量 70
3.5分号分隔符 70
3.6注释 70
3.6.1单行注释语法 71
3.6.2多行注释语法 71
3.7 PRAGMA关键字 72
3.8标签 73
第2部分 PL/SQL程序结构 77
第4章 条件和顺序控制 77
4.1 IF语句 77
4.1.1 IF-THEN组合 78
4.1.2 IF-THEN-ELSE组合 80
4.1.3 IF-THEN-ELSIF组合 81
4.1.4避免IF语法陷阱 82
4.1.5嵌套的IF语句 84
4.1.6 短路求值 84
4.2 CASE语句和表达式 86
4.2.1简单的CASE语句 87
4.2.2搜索型CASE语句 88
4.2.3嵌套的CASE语句 90
4.2.4 CASE表达式 91
4.3 GOTO语句 93
4.4 NULL语句 94
4.4.1增加程序的可读性 94
4.4.2在标签之后使用NULL 95
第5章 用循环进行迭代处理 96
5.1循环的基础知识 96
5.1.1不同循环的例子 97
5.1.2 PL/SQL循环结构 98
5.2简单循环 99
5.2.1终止简单循环:EXIT和EXIT WHEN 100
5.2.2模仿一个REPEAT UNTIL循环 101
5.2.3人为的无限循环 101
5.3 WHILE循环 103
5.4数值型的FOR循环 104
5.4.1使用数值型FOR循环的规则 105
5.4.2数值型FOR循环的例子 105
5.4.3处理非平滑增长 106
5.5游标FOR循环 107
5.5.1游标型FOR循环的例子 108
5.6循环的标签 109
5.7 CONTINUE语句 110
5.8迭代处理的技巧 113
5.8.1循环索引使用容易理解的名称 113
5.8.2好的退出方式 114
5.8.3获得FOR循环执行信息 115
5.8.4循环式的SQL语句 116
第6章 异常处理 118
6.1异常处理概念和术语 118
6.2定义异常 120
6.2.1声明有名异常 121
6.2.2异常名称和错误代码相互关联 122
6.2.3被命名的系统异常 125
6.2.4异常的作用范围 127
6.3抛出异常 128
6.3.1 RAISE语句 128
6.3.2使用RAISE APPLICATION ERROR 129
6.4处理异常 130
6.4.1内置的错误函数 132
6.4.2在一个单独的句柄中包含多个异常 137
6.4.3未处理的异常 137
6.4.4传播未处理异常 138
6.4.5异常后继续 140
6.4.6 WHEN OTHERS的处理代码 142
6.5构建一个有效的错误管理架构 144
6.5.1确定异常管理策略 145
6.5.2组织好对应用专有错误代码的使用 148
6.5.3使用标准化的错误管理程序 149
6.5.4使用自己的异常对象 151
6.5.5创建通用错误处理的标准模板 153
6.6充分利用PL/SQL错误管理 155
第3部分 PL/SQL数据 159
第7章 使用数据 159
7.1程序数据的命名 159
7.2 PL/SQL数据类型概述 161
7.2.1字符数据 162
7.2.2数字 162
7.2.3日期、时间戳和时间间隔 163
7.2.4布尔类型 164
7.2.5二进制数据类型 164
7.2.6 ROWIDs 165
7.2.7 REF CURSORs 165
7.2.8 Internet数据类型 165
7.2.9 “Any”数据类型 166
7.2.10用户定义数据类型 166
7.3程序数据的声明 166
7.3.1声明一个变量 167
7.3.2声明常量 168
7.3.3 NOT NULL语句 168
7.3.4锚定声明 168
7.3.5游标和表的锚 170
7.3.6使用锚定声明的好处 171
7.3.7 NOT NULL数据类型的锚 172
7.4程序员定义的子类型 173
7.5数据类型转换 174
7.5.1隐式类型转换 174
7.5.2显式类型转换 176
第8章 字符串 182
8.1字符串类型 182
8.1.1 VARCHAR2数据类型 183
8.1.2 CHAR数据类型 184
8.1.3 String子类型 185
8.2使用字符串 186
8.2.1字符串常量 186
8.2.2不可打印字符 187
8.2.3拼接字符串 188
8.2.4处理大小写 189
8.2.5传统的检索、提取和替换 192
8.2.6补齐 194
8.2.7正则表达式的检索、提取和替换 197
8.2.8使用空字符串 208
8.2.9混用CHAR和VARCHAR2 210
8.3字符串函数快速参考 212
第9章 数字 221
9.1数值型数字类型 221
9.1.1 NUMBER类型 222
9.1.2 PLS_INTEGER类型 227
9.1.3 BINARY_INTEGER类型 228
9.1.4 SIMPLE_INTEGER类型 228
9.1.5 BINARY_FLOAT和BINARY_DOUBLE类型 230
9.1.6 SIMPLE_FLOAT和SIMPLE_DOUBLE类型 235
9.1.7数字子类型 235
9.2数字转换 237
9.2.1 TO NUMBER函数 237
9.2.2 TO CHAR函数 240
9.2.3 CAST函数 246
9.2.4隐式转换 246
9.3数字运算符 248
9.4数字函数 249
9.4.1四舍五入和截断函数 249
9.4.2三角函数 250
9.4.3数字函数的快速参考 250
第10章 日期和时间戳 255
10.1 Datatime数据类型 255
10.1.1声明日期时间变量 258
10.1.2选择日期时间数据类型 259
10.2得到当前日期和时间 259
10.3 INTERVAL数据类型 262
10.3.1声明INTERVAL变量 263
10.3.2什么时候使用INTERVAL 264
10.4日期时间转换 266
10.4.1从字符串到日期时间 266
10.4.2从日期时间到字符串 269
10.4.3使用时区 271
10.4.4精确匹配需要格式掩码 274
10.4.5让精确匹配更容易 275
10.4.6解释滑动窗口中两位数字的年份 275
10.4.7把时区转换成字符串 276
10.4.8用填充模式把输出补齐 277
10.5日期和时间戳直接量 278
10.6时间间隔的转换 279
10.6.1从数字到时间间隔的转换 280
10.6.2把字符串转换成间隔 281
10.6.3时间间隔的格式化显示 281
10.7时间间隔直接量 282
10.8 CAST和EXTRACT 284
10.8.1 CAST函数 284
10.8.2 EXTRACT函数 285
10.9日期时间的算法 286
10.9.1时间间隔和日期时间的算法 286
10.9.2 DATE数据类型的日期算法 287
10.9.3计算两个日期时间之间的时间间隔 288
10.9.4 DATE和TIMESTAMP混合计算 290
10.9.5时间间隔的加减运算 291
10.9.6时间间隔的乘除运算 292
10.9.7使用不受限制的时间间隔类型 293
10.10日期/时间函数的快速参考 294
第11章 记录类型 297
11.1 PL/SQL中的记录 297
11.1.1使用记录的好处 298
11.1.2声明记录 300
11.1.3程序员自定义的记录类型 301
11.1.4使用记录类型 304
11.1.5记录的比较 310
11.1.6触发器伪记录 311
第12章 集合 313
12.1集合概述 314
12.1.1集合概念和术语 314
12.1.2集合类型 316
12.1.3集合示例 317
12.1.4使用集合的场合 321
12.1.5选择一个集合类型 326
12.2集合方法(内置) 327
12.2.1 COUNT方法 328
12.2.2 DELETE方法 329
12.2.3 EXISTS方法 330
12.2.4 EXTEND方法 331
12.2.5 FIRST和LAST方法 332
12.2.6 LIMIT方法 333
12.2.7 PRIOR和NEXT方法 333
12.2.8 TRIM方法 334
12.3使用集合 335
12.3.1声明集合类型 336
12.3.2集合变量的声明和初始化 340
12.3.3用数据填充集合 345
12.3.4访问集合内的数据 350
12.3.5使用字符串索引的集合 350
12.3.6复杂数据类型的集合 356
12.3.7多级集合 359
12.3.8在SQL中使用集合 367
12.4嵌套表的多重集合操作 372
12.4.1测试嵌套表是否相等及成员属性 374
12.4.2检查元素是否是嵌套表的成员 375
12.4.3执行高级集合操作 376
12.4.4处理嵌套表中的重复数据 377
12.5模式级别集合的维护 379
12.5.1必需的权限 379
12.5.2集合和数据字典 379
第13章 其他数据类型 381
13.1 BOLEAN类型 381
13.2 RAW数据类型 382
13.3 UROWID和ROWID数据类型 383
13.3.1获得ROWID 384
13.3.2使用ROWID 384
13.4 LOB数据类型 386
13.5使用LOB 387
13.5.1理解LOB定位符 389
13.5.2 LOB的空和NULL 390
13.5.3向LOB中写入数据 392
13.5.4读取LOB数据 395
13.5.5 BFILE不同于其他 396
13.5.6 SecureFiles和BasicFiles 401
13.5.7临时LOB 403
13.5.8原生的LOB操作 406
13.5.9 LOB转换函数 410
13.6预定义的对象类型 411
13.6.1 XMLType类型 411
13.6.2 URI类型 415
13.6.3 Any类型 417
第4部分 PL/SQL中的SQL 423
第14章 DML和事务管理 423
14.1 PL/SQL中的DML 424
14.1.1 DML语句的快速入门 424
14.1.2 DML操作的游标属性 428
14.1.3从DML语句返回信息 429
14.1.4 DML和异常处理 430
14.1.5 DML和记录 431
14.2事务管理 434
14.2.1 COMMIT语句 434
14.2.2 ROLLBACK语句 435
14.2.3 SAVEPOINT语句 436
14.2.4 SET TRANSACTION命令 436
14.2.5 LOCK TABLE语句 437
14.3自治事务 438
14.3.1定义自治事务 438
14.3.2自治事务的规则和限制 439
14.3.3事务的可见性 440
14.3.4什么时候使用自治事务 440
14.3.5构建一个自治的日志机制 441
第15章 数据提取 444
15.1游标基础 445
15.1.1一些有关数据提取的术语 446
15.1.2典型的查询操作 447
15.1.3游标属性介绍 448
15.1.4在游标中使用PL/SQL变量 451
15.1.5在显式游标和隐式游标间做选择 451
15.2使用隐式游标 452
15.2.1隐式游标的例子 453
15.2.2隐式游标的异常处理 454
15.2.3隐式SQL的游标属性 456
15.3使用显式游标 458
15.3.1声明显式游标 459
15.3.2打开显式游标 462
15.3.3从显式游标中提取数据 463
15.3.4显式游标中的列别名 464
15.3.5关闭显式游标 465
15.3.6显式游标的属性 467
15.3.7游标参数 469
15.4 SELECT…FOR UPDATE 472
15.4.1用COMMIT释放锁资源 473
15.4.2 WHERE CURRENT OF语句 474
15.5游标变量和REF CURSOR 475
15.5.1为什么用游标变量 476
15.5.2和静态游标的相同点 477
15.5.3声明REF CURSOR类型 478
15.5.4声明游标变量 478
15.5.5打开游标变量 479
15.5.6从一个游标变量获取数据 480
15.5.7游标变量的使用规则 483
15.5.8游标变量作为参数传递 486
15.5.9游标变量的约束限制 488
15.6游标表达式 488
15.6.1使用游标表示式 489
15.6.2游标表达式的约束限制 491
第16章 动态SQL和动态PL/SQL 492
16.1 NDS语句 493
16.1.1 EXECUTE IMMEDIATE语句 493
16.1.2 OPEN FOR语句 496
16.1.3 4种动态SQL方法 502
16.2绑定变量 503
16.2.1参数模式 504
16.2.2重复的占位符 506
16.2.3 NULL值的传递 507
16.3使用对象和集合 508
16.4动态PL/SQL 510
16.4.1构建动态PL/SQL块 511
16.4.2用动态块替换重复的代码 513
16.5 NDS的建议 513
16.5.1对于共享的程序使用调用者权限 514
16.5.2预估并处理动态的错误 514
16.5.3使用绑定而不是拼接 516
16.5.4把代码注入的风险最小化 518
16.6什么时候使用DBMS_SQL 521
16.6.1解析非常长的字符串 521
16.6.2得到查询的列的信息 522
16.6.3实现第4种方法的动态SQL的需求 524
16.6.4把动态游标的解析最小化 530
16.7 Oracle数据库11g新特性 532
16.7.1 DBMS_SQL.TO_REFCURSOR函数 532
16.7.2 DBMS_SQL.TO_CURSOR函数 534
16.7.3 DBMS_SQL的安全性增强 536
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《设计十六日 国内外美术院校报考攻略》沈海泯著 2018
- 《计算机辅助平面设计》吴轶博主编 2019
- 《高校转型发展系列教材 素描基础与设计》施猛责任编辑;(中国)魏伏一,徐红 2019
- 《景观艺术设计》林春水,马俊 2019
- 《程序逻辑及C语言编程》卢卫中,杨丽芳主编 2019
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《Cinema 4D电商美工与视觉设计案例教程》樊斌 2019
- 《通信电子电路原理及仿真设计》叶建芳 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《办好人民满意的教育 全国教育满意度调查报告》(中国)中国教育科学研究院 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《人民院士》吴娜著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《中国人民的心》杨朔著;夕琳编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中华人民共和国成立70周年优秀文学作品精选 短篇小说卷 上 全2册》贺邵俊主编 2019
- 《指向核心素养 北京十一学校名师教学设计 数学 九年级 上 配人教版》周志英总主编 2019
- 《中华人民共和国成立70周年优秀文学作品精选 中篇小说卷 下 全3册》洪治纲主编 2019