目     录


八. 正则表达式

8.1. 正则表达式简介

8.2. Oracle Sql模式匹配函数

8.2.1. 模式匹配函数

8.2.2. 模式匹配选项

8.3. Oracle正则表达式中的运算符

8.3.1. POSIX运算符

8.3.2. Perl正则表达式扩展字符

8.3.3. 字符簇和含义

8.3.4. 操作符的运算优先级

8.4. 正则表达式实例

8.4.1. Regexp_like函数

8.4.2. Regexp_replace函数

8.4.3. Regexp_substr函数

8.4.4. Regexp_instr函数

8.4.5. Regexp_count函数

8.5. 补充案例

8.5.1. 多此一举的 SQL案例


九. 常用的简单函数

9.1. 函数简介和分类

9.1.1.1. SQL函数简介

9.1.1.2. SQL函数分类

9.2. 常用函数简介

9.2.1. 数字函数

9.2.1.1. ABS函数

9.2.1.2. CEIL函数

9.2.1.3. FLOOR函数

9.2.1.4. MOD函数

9.2.1.5. SIGN函数

9.2.1.6. TRUNC(number)函数

9.2.2. 字符函数

9.2.2.1. CONCAT函数

9.2.2.2. INITCAP函数

9.2.2.3. NLS_INITCAP函数

9.2.2.4. LOWER |NLS_LOWER函数

9.2.2.5. LPAD |RPAD函数

9.2.2.6. TRIM |LTRIM |RTRIM函数

9.2.2.7. REPLACE |TRANSLATE函数

9.2.2.8. SUBSTR函数

9.2.3. 日期时间函数

9.2.3.1. ADD_MONTHS |MONTHS_BETWEEN

9.2.3.1. CURRENT_DATE |CURRENT_TIMESTAMP |SYSDATE |SYSTIMESTAMP

9.2.3.1. EXTRACT(datetime)|ROUND(date)|TRANC(date)

9.2.3.1. TO_CHAR(datetime)|TO_DSINTERVAL |TO_TIMESTAMP 

9.2.4. 比较函数

9.2.4.1. LEAST函数

9.2.4.2. GREATEST函数

9.2.5. 类型转换函数

9.2.5.1. CAST函数

9.2.5.2. CONVERT函数

9.2.5.3. TO_CHAR(character|datetime|number)

9.2.6. DECOSE |CASE

9.2.6.1. DECOSE函数

9.2.6.2. CASE表达式

9.2.7. NULL值相关函数

9.2.7.1. NVL函数

9.2.7.2. NVL2函数

9.2.7.3. COALESCE函数

9.2.7.4. LNNVL函数

9.2.7.5. NANVL函数

9.2.7.6. NULLIF函数

9.2.8. 聚合函数

9.2.8.1. MIN |MAX函数

9.2.8.1. COUNT |AVG函数

9.2.8.1. SUM | MEDIAN函数

9.2.8.1. GROUP_ID |GROUPING函数

9.2.8.1. CUBE |ROLLUP函数

9.3. 补充案例

9.3.1. NAN 和 NANVL简介

9.3.2. EXTRACT时间函数

9.3.3. INTERVAL,LITERALS简介


十. 表达式和运算符

10.1. 表达式和运算符简介

10.1.1. 表达式简介

10.1.2. 运算符简介

10.2. 表达式和运算符分类

10.2.1. 表达式分类

10.2.1.1. 简单表达式 

10.2.1.2. 复合表达式 

10.2.1.3. CASE表达式

10.2.1.4. 列表达式

10.2.1.5. 游标表达式

10.2.1.6. 日期时间表达式

10.2.1.7. 函数表达式

10.2.1.8. Interval表达式

10.2.1.9. Model表达式

10.2.1.10. 标量子查询表达式

10.2.1.11. 表达式列表

10.2.2. 运算符分类

10.2.2.1. 一元和二元运算符

10.2.2.2. 算术运算符

10.2.2.3. 连接运算符

10.2.2.4. 分层查询运算符

10.2.2.5. SET运算符

10.2.2.6. Multiset运算符

10.2.2.7. 用户自定义运算符

10.2.2.8. 转义字符

 

十一. 视图(VIEWS)

11.1. 视图简介

11.1.1. 视图简介

11.1.2. 基本视图语法

11.1.3. 视图分类

11.2. 创建视图

11.2.1. Normal view

11.2.2. Editioning view

11.2.3. View with constraints

11.2.4. Updatable view

11.2.5. With check option

11.2.6. Join view

11.2.7. Read-only view

11.2.8. Inline view

11.2.9. 创建视图时指定别名

11.2.10. 视图使用虚拟列

11.2.11. DML语句和 Join view

11.2.12. DML语句操作 Join view的限制

11.2.13. 数据库如何访问视图

11.2.14. 基本物化视图

11.2.14.1. 基本物化视图简介

11.2.14.2. 基本物化视图语法

11.2.14.3. 基本物化视图实例

11.2.14.4. 物化视图包含 only joins

11.2.14.5. 嵌套物化视图

11.2.14.6. 物化视图使用别名列表

11.2.14.7. 物化视图查询重写的限制

11.2.14.8. 物化视图索引

11.2.14.9. 注册物化视图 

11.2.14.10. 清理物化视图日志

11.2.14.11. 物化视图的维护

11.2.15. 高级物化视图 

11.2.15.1. 物化视图分区

11.2.15.2. 物化视图和 Models

11.2.15.3. 物化视图的相关视图


第二部分:DML篇


十二. INSERT、UPDATE、DELETE、MERGE

12.1. DML语句简介

12.2. DML语法和实例

12.2.1. INSERT

12.2.1.1. INSERT语法 

12.2.1.2. 单表插入的实例

12.2.1.3. 多表插入的实例

12.2.1.4. 多表插入的限制

12.2.2. UPDATE

12.2.2.1. UPDATE的语法

12.2.2.2. UPDATE的实例

12.2.2.3. 更新 VIEW的注意事项

12.2.2.4. 更新列的注意事项

12.2.2.5. 更新包含子查询的注意事项

12.2.2.6. 使用 returning的注意事项

12.2.3. DELETE

12.2.3.1. DELETE的语法

12.2.3.2. DELETE的实例

12.2.3.3. del_table_expression_clause的限制

12.2.3.4. 使用 returning的注意事项

12.2.4. MERGE

12.2.4.1. MERGE的语法

12.2.4.2. MERGE的实例

12.2.5. For update和 ROWID

12.3. 补充案例

12.3.1. 使用 MERGE语句的注意事项 

12.3.2. INSERT ALL使用案例

12.3.3. INSERT INTO的优化案例


第三部分:DDL篇


十三. 约束(Constraints)

13.1. 约束的简介和分类

13.1.1. 约束的简介

13.1.2. 约束的分类

13.2. 约束的实例

13.2.1. NOT NULL约束

13.2.2. UNIQUE 约束

13.2.2.1. UNIQUE 约束定义

13.2.2.2. UNIQUE 约束的限制

13.2.3. Primary key约束

13.2.3.1. Primary key约束定义

13.2.3.2. Primary key约束的限制

13.2.4. Foreign key约束

13.2.4.1. Foreign key约束定义

13.2.4.2. Foreign key约束的限制

13.2.4.3. Self-referential约束

13.2.4.4. 父键修改和外键的关系

13.2.4.5. 索引和外键

13.2.5. Check 约束

13.2.5.1. Check 约束定义

13.2.5.2. Check 约束的限制

13.2.6. 完整性约束的状态

13.2.7. 数据库何时检查约束的有效性

13.2.8. 约束的维护

13.3. 补充案例

13.3.1. 表和约束的常用修改语句

13.3.2. 导出表约束条件的语句


以下三章省略,详见《跨界》部分。

十四. 表的设计

补充案例

1. Oracle设计开发规范

2. 分区介绍及在项目中的应用

3. HASH分区使用总结

4. Oracle外部表


十五. 索引的设计

补充案例

1. NULL使用索引的问题

2. Oracle text index

3. 夜话索引

4. 夜话索引二

5. 为什么有时全表扫描比索引扫描更高效

6. 关于索引的一些问题

7. 关于函数索引的详解


十六. 序列和其它对象设计

补充案例

1. 使用索引生成主键时,如何减少争用的问题