译者序
前言
作者简介
致谢
第1章PL/SQL概念1
1.1实验1:PL/SQL架构1使用8
1.2.1初步掌握SQL Developer的使用
1.2.2初步掌握SQL*Plus的使用10
1.2.3执行PL/SQL脚本11
1.3实验3:PL/SQL基础知识14
1.3.1DBMS_OUTPUT.PUT_LINE语句14
1.3.2替代变量功能17
1.4总结21
第2章PL/SQL语言基础22
2.1实验:PL/SQL编程基础22
2.1.1PL/SQL语言组件23
2.1.2PL/SQL变量23
2.1.3PL/SQL保留字26
2.1.4PL/SQL中的标识符26
2.1.5挂靠的数据类型27
2.1.6声明和初始化变量29
2.1.7块作用域、嵌套块和标签32
2.2总结34
第3章在PL/SQL中的SQL35
3.1实验1:在PL/SQL中的DML
语句35
3.1.1使用SELECTINTO初始化变量36
3.1.2使用变量初始化的SELECTINTO语法37
3.1.3在PL/SQL块中使用DML38
3.1.4在PL/SQL块中使用序列39
3.2实验2:在PL/SQL中的事务控制40
3.2.1使用COMMIT、ROLLBACK和
SAVEPOINT40
3.2.2将DML和事务控制相结合43
3.3总结45
第4章条件控制:IF语句46
4.1实验1:IF语句46
4.1.1IF—THEN语句47
4.1.2IF—THEN—ELSE语句48
4.2实验2:ELSIF语句50
4.3实验3:嵌套的IF语句54
4.4总结56
第5章条件控制:CASE语句57
5.1实验1:CASE语句57
5.1.1CASE语句57
5.1.2搜索CASE语句59
5.2实验2:CASE表达式64
5.3实验3:NULLIF和COALESCE
函数67
5.3.1NULLIF函数67
5.3.2COALESCE函数69
5.4总结71
第6章迭代控制:第一部分72
6.1实验1:简单循环72
6.1.1EXIT语句73
6.1.2EXITWHEN语句76
6.2实验2:WHILE循环77
6.2.1使用WHILE循环77
6.2.2提前终止WHILE循环80
6.3实验3:数字FOR循环81
6.3.1在循环中使用IN选项82
6.3.2在循环中使用REVERSE选项84
6.3.3提前终止数字FOR循环84
6.4总结85
第7章迭代控制:第二部分86
7.1实验1:CONTINUE语句86
7.1.1使用CONTINUE语句86
7.1.2CONTINUEWHEN语句89
7.2实验2:嵌套循环92
7.2.1使用嵌套循环92
7.2.2使用循环标签93
7.3总结95
第8章错误处理和内置异常96
8.1实验1:处理错误96
8.2实验2:内置异常98
8.3总结103
第9章异常104
9.1实验1:异常作用域104
9.2实验2:用户定义的异常107
9.3实验3:异常传播111
9.4总结116
第10章异常:高级概念117
10.1实验1:RAISE_APPLICATION_ERROR117
10.2实验2:EXCEPTION_INIT编译指示120
10.3实验3:SQLCODE和SQLERRM122
10.4总结124
第11章游标简介125
11.1实验1:游标类型125
11.1.1使用隐式游标126
11.1.2使用显式游标127
11.2实验2:游标循环130
11.2.1处理显式游标130
11.2.2使用用户定义的记录133
11.2.3使用游标属性134
11.3实验3:游标FOR循环138
11.4实验4:嵌套游标139
11.5总结143
第12章高级游标144
12.1实验1:参数化游标144
12.2实验2:复杂的嵌套游标145
12.3实验3:FORUPDATE和WHERECURRENT游标147
12.3.1FORUPDATE游标147
12.3.2游标中的FORUPDATE触发器151
13.1.1数据库触发器151
13.1.2BEFORE触发器154
13.1.3AFTER触发器159
13.1.4自治事务160
13.2实验2:触发器类型162
13.2.1行触发器和语句触发器162
13.2.2INSTEADOF触发器163
13.3总结167
第14章变异表和复合触发器168
14.1实验1:变异表168
14.1.1什么是变异表168
14.1.2解决变异表问题170
14.2实验2:复合触发器172
14.2.1什么是复合触发器172
14.2.2解决变异表问题的复合触发器174
14.3总结177
第15章集合178
15.1实验1:PL/SQL表178
15.1.1关联数组179
15.1.2嵌套表181
15.1.3集合方法184
15.2实验2:变长数组187
15.3实验3:多级集合190
15.4总结192
第16章记录193
16.1实验1:记录类型193
16.1.1基于表和基于游标的记录194
16.1.2用户定义的记录196
16.1.3记录兼容性197
16.2实验2:嵌套记录199
16.3实验3:记录集合202
16.4总结205
第17章本地动态SQL206
17.1实验1:EXECUTEIMMEDIATE语句206
17.1.1使用EXECUTEIMMEDIATE语句207
17.1.2如何避免使用EXECUTEIMMEDIATE的常见ORA错误209
17.2实验2:OPEN—FOR、FETCH和CLOSE语句216
17.2.1打开游标216
17.2.2从游标中读取217
17.2.3关闭游标217
17.3总结223
第18章批量SQL224
18.1实验1:FORALL语句224
18.1.1使用FORALL语句225
18.1.2SAVEEXCEPTIONS选项228
18.1.3INDICESOF选项230
18.1.4VALUESOF选项230
18.2实验2:BULKCOLLECT子句232
18.3实验3:在SQL语句中绑定集合239
18.3.1将集合与EXECUTEIMMEDIATE语句绑定240
18.3.2将集合与OPEN—FOR、FETCH和CLOSE语句绑定245
18.4总结248
第19章过程249
19.1模块化代码的好处249
19.1.1块结构250
19.1.2匿名块250
19.2实验1:创建过程250
19.2.1实践创建过程的语法251
19.2.2查询数据字典来获取过程的信息252
19.3实验2:传递的过程参数IN和OUT253
19.4总结255
第20章函数256
20.1实验1:创建函数256
20.1.1创建存储函数257
20.1.2使用函数259
20.2实验2:在SQL语句中使用函数260
20.2.1在SQL语句中调用函数261
20.2.2编写复杂函数261
20.3实验3:在SQL中优化函数执行262
20.3.1使用WITH子句定义函数262
20.3.2使用UDF编译指示创建函数263
20.4总结263
……
第21章包264
第22章存储代码297
第23章Oracle对象类型306
第24章Oracle提供的包323
· · · · · · (
收起)
0 有用 屋顶上的猫 2022-03-19 14:36:20
例子都是很好的,只是文本过于赘述,看得血都吐出来
0 有用 Joshz 2017-04-15 10:28:27
快速提高对PL/SQL语法的理解,不会太简单走马观花,也不是太难需要到很多工程实践经验。同时配套的习题也可以作为练习册。提高推荐指数:★★★★
0 有用 屋顶上的猫 2022-03-19 14:36:20
例子都是很好的,只是文本过于赘述,看得血都吐出来
0 有用 Joshz 2017-04-15 10:28:27
快速提高对PL/SQL语法的理解,不会太简单走马观花,也不是太难需要到很多工程实践经验。同时配套的习题也可以作为练习册。提高推荐指数:★★★★