《Oracle触发器与存储过程高级编程 第3版》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:(美)Kevin Owens著;欧阳宇译
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:7302093822
  • 页数:312 页
图书介绍:本书重点阐述了Oracle数据库服务器的核心概念:数据库表、索引、表空间、约束、触发器和PL/SQL等,基于一个STUDENTS数据模型,由浅入深,全面详尽地介绍了Oracle的各种功能和技术。

第1章 关系数据库表 1

1.1 关系表 1

目录 1

1.2 SQL 4

1.2.1 ANSI标准 4

1.2.2 SQL数据库 5

1.2.3 SQL实现 5

1.2.4 SQL*Plus 7

1.3 表 8

1.3.1 数据模型视图 9

1.3.2 创建表脚本 9

1.3.3 描述表 9

1.3.4 表数据 9

1.4.1 数据定义语言(DDL) 10

1.4 SQL语句 10

1.4.2 数据操纵语言(DML) 11

1.4.3 事务控制 11

1.4.4 会话控制 11

1.4.5 系统控制 12

1.5 表列数据类型 12

1.5.1 字符 12

1.5.2 数字 12

1.5.3 日期类型 13

1.5.4 大型对象 14

1.5.5 XML类型 15

1.5.6 LONG和RAW类型 16

1.5.7 ROWID类型 16

1.6.1 应用程序表空间 17

1.6 表的内幕 17

1.6.2 数据字典 18

第2章 与Oracle交互 21

2.1 简化Windows上的SQL*Plus 21

2.2 连接 23

2.3 连接到基础结构 24

2.4 断开连接 26

2.5 命令行 27

2.6 命令行上的更改 27

2.7 脚本 35

2.8 脚本输出 37

2.9 命令行参数 40

2.10 带KORN Shell的SQL*Plus 44

2.12 活动状态Perl的SQL*Plus 46

2.11 批处理命令文件 46

2.13 权限 47

2.14 DUAL表 48

2.15 Autotrace命令 49

第3章 声明性约束 52

3.1 主键约束 53

3.1.1 创建约束 54

3.1 2 命名约束 57

3.1.3 主键索引 58

3.1.4 序列 62

3.1.5 代码中的序列 64

3.1.6 连接主键 66

3.1.7 使用伪键的附加索引 67

3.1.8 启用、禁用和删除 70

3.1.9 可延迟选项 71

3.1.10 NOVALIDATE选项 74

3.1.11 PL/SQL中的错误处理 75

3.2 惟一性约束 75

3.2.1 将非空、检查与惟一性约束结合使用 76

3.2.2 Students表实例 77

3.2.3 可延迟和NOVALIDATE选项 78

3 2.4 PL/SQL中的错误处理 78

3.3 外键约束 79

3.3.1 四类错误 81

3.3.2 删除级联 83

3.3.3 强制外键列 83

3.3.4 引用父语法 84

3.3.5 跨模式和数据库的引用完整性 85

3.3.6 多父及DDL迁移 86

3.3.7 多对多关系 88

3.3.8 自引用完整性 90

3.3.9 与父/子表相关的PL/SQL错误处理 92

3.3.10 可延迟选项 92

3.4 检查约束 95

3.4.1 多列约束 97

3.4.2 补充惟一性约束 98

3.4.3 Students表实例 99

3.4.4 查找表与检查约束的比较 99

3.4.5 基数 100

3.4.6 检查约束的设计 100

3.5 非空约束 101

3.6 默认值 102

3.7 修改约束 102

3.8 异常处理 103

3.9 数据加载 104

第4章 带约束的数据模型 107

4.1 实体关系图 107

4.2 表描述 108

4.3 DDL 109

4.4 示例数据 113

第5章 数据字典中的视图约束 116

5.1 可以看到什么 116

5.2 字典视图 117

5.3 约束视图 119

5.4 USER_CONS_COLUMNS视图 120

5.5 USER_CONSTRAINTS视图 121

5.6 数据字典约束脚本 122

5.6.1 对表的约束 122

5.6.2 寻求约束名 123

5.6.3 检查约束规则 124

5.6.4 查询父表 125

5.6.5 查询子表 126

5.6.6 约束状态 126

5.6.7 有效性 127

第6章 行触发器机制 130

6.1 简介 130

6.2 BEFORE与AFTER 131

6.3 Insert Row触发器的语法 132

6.4 触发器主体 135

6.5 行触发器实例 137

6.6 带Oracle约束和业务规则的表 139

6.6.1 环境 140

6.6.2 要实施的过程性约束 141

6.6.3 BEFORE与AFTER 142

6.6.4 为过程性约束使用包 143

6.6.5 管理错误代码和消息 145

6.6.6 触发器体系结构 146

第7章 语句级触发器 147

7.1 事件序列 147

7.2 Insert Statement触发器的语法 148

7.3 语句级聚合 151

7.4 处理行捕获数据 153

第8章 实施复杂的规则 156

第9章 PL/SQL环境 160

9.1 Hello World程序 160

9.2 引用Oracle包 164

9.2.1 环境创建 165

9.2.2 API 166

9.3 USER_OBJECTS视图 168

9.4 过程间的依赖关系 169

9.5 USER_DEPENDENCIES视图 174

9.6 USER_SOURCE视图 177

9.7 共享代码 182

9.8 编译依赖关系 184

9.8.1 场景1 184

9.8.2 场景2 185

9.9 USER_ERRORS视图 187

第10章 PL/SQL程序单元 188

10.1 过程 190

10.2 函数 192

10.3 子程序封装:包的介绍 194

10.4 包规范 195

10.4.1 语法与格式 196

10.4.2 开发规范 198

10.5 包体 200

10.6 应用程序划分 203

10.7 数据抽象 204

10.8 参数与模式 207

10.8.1 IN模式(默认)是个常量 207

10.8.2 IN OUT模式 208

10.8.3 OUT模式 208

10.8.4 函数与模式 209

10.8.5 命名表示法与位置表示法 210

10.8.6 默认参数 212

10.8.7 使用默认值扩展代码 214

10.8.8 %TYPE 215

10.9 重载 216

第11章 PL/SQL语言特性 219

11.1 注释 221

11.2 赋值和语句 222

11.3 布尔表达式 223

11.4 空值表达式 224

11.5 逻辑操作符 228

11.6 字符串连接 230

11.7 算术表达式 231

11.8 变量声明 231

11.9 数据类型 233

11.9.1 布尔型 233

11.9.2 标量类型 234

11.9.3 记录 236

11.9.4 %ROWTYPE 239

11.9.5 Index-By表 239

11.9.6 Varray类型和嵌套表 241

11.9.7 对象 244

11.9.8 大型对象 246

11.10 IF语句 249

11.10.1 简单的IF语句 249

11.10.2 If-Then-Else语句 249

11.10.3 带有Else子句的If-Then-Elseif语句 249

11.10.4 不带Else子句的If-Then-Elseif语句 250

11.10.5 语句表达式 251

11.10.6 在SOL中使用DECODE和CASE 253

11.11 CASE语句 254

11.11.1 检索型CASE语句 254

11.11.2 带选择器的CASE语句 255

11.11.3 在SELECT语句中使用CASE 256

11.12 循环 257

11.11.4 在SELECT语句中使用DECODE 257

11.12.1 DO UNTIL循环 258

11.12.2 WHILE循环 259

11.12.3 FOR循环 260

11.12.4 DO-WHILE-DO循环 262

11.12.5 循环逻辑的封装 263

11.13 字符串操作函数 265

11.13.1 SUBSTR 265

11.13.2 INSTR 267

11.13.3 LPAD和RPAD 270

11.13.4 LTRIM和RTRIM 271

11.13.5 REPLACE 272

11.13.6 TRANSLATE 274

11.14 其他字符串函数 275

11.15 数字函数 276

11.16 随机数的生成 277

11.17 日期函数 278

11.17.1 SYSDATE 278

11.17.2 TO_CHAR和TO_DATE 279

11.17.3 ADD_MONTHS 280

11.17.4 LAST_DAY 280

11.17.5 MONTHS_BETWEEN 281

11.17.6 NEW_TIME 281

11.17.7 NEXT_DAY 282

11.17.8 ROUND和TRUNC 283

11.18 异常 283

11.18.1 用户自定义异常 284

11.18.2 含异常处理程序的程序块 285

11.18.3 EXCEPTION子句 286

11.18.5 RAISE语句 288

11.18.4 SQLCODE和SQLERRM 288

11.18.6 未处理异常和异常传播 290

11.18.7 RAISE_APPLICATION_ERROR 291

11.18.8 EXCEPTION_INIT 292

11.19 用SQL进行数据库访问 293

11.19.1 游标FOR循环 293

11.19.2 用SELECT语句选择单行 294

11.19.3 插入和更新 294

11.19.4 隐式游标 297

11.20 发送管道消息(DBMS_PIPE) 299

11.20.1 发送-接收示例 300

11.20.2 接口描述 301

11.20.3 异常处理 305

11.21 用警报指示事件(DBMS_ALERT) 306

11.22 用触发器和警报执行Email通知 310