"ORACLE PL/SQL 自己做的笔记"
这篇笔记涵盖了ORACLE数据库系统中PL/SQL编程的多个核心概念和技术。以下是其中的关键知识点:
1. **CASE表达式**:CASE表达式允许根据不同的条件执行不同的逻辑,是SQL中的一个条件判断工具,可以用于动态选择执行的代码路径。
2. **条件控制结构**:
- **if-then**:简单的条件判断,如果满足条件则执行特定的语句。
- **if-then-else**:包含两个分支的条件判断,当条件满足时执行一个分支,否则执行另一个分支。
- **if-then-elsif-else**:支持多个条件检查,逐个检查直到找到满足的条件,或者最后执行else分支。
3. **PL/SQL变量**:
- **变量的声明和使用**:在PL/SQL中,需要先声明变量才能使用,可以指定变量的数据类型。
- **变量的声明和初始化**:声明变量时可以为其赋予初始值。
- **%type属性**:使用%type属性可以使变量与已有数据库列的数据类型保持一致。
- **布尔变量**:用于存储真或假的逻辑值。
- **变量赋值**:可以通过赋值语句改变变量的值。
4. **触发器**:
- **创建触发器的语法**:定义在特定数据库事件(如INSERT、UPDATE、DELETE)发生时执行的代码。
- **分类**:包括行级触发器和语句级触发器。
- **:old和:new**:在触发器中,这两个特殊变量分别用于访问旧的和新的行状态。
- **利用触发器实现完整性约束**:触发器可用于实施数据库级别的业务规则,补充或增强SQL的约束。
5. **过程和函数**:
- **过程**:无返回值的PL/SQL代码块,可以接受参数并执行一系列操作。
- **函数**:返回一个值的PL/SQL代码块,通常用于计算或处理数据。
6. **异常处理**:
- **预定义和用户定义的异常**:处理运行时错误,可以捕获并自定义错误消息。
- **raise_application_error**:用于自定义应用程序异常。
7. **PL/SQL数据类型**:
- **记录类型**:自定义复杂数据类型,可以包含多个字段。
- **%ROWTYPE**:用于创建与表列相同数据类型的变量。
- **INDEX BY表**:类似于关联数组的数据结构。
8. **游标**:
- **隐式和显示游标**:处理单行结果集的机制,允许对查询结果进行迭代。
- **游标的FOR循环**:简化遍历查询结果的过程。
9. **循环语句**:
- **loop, while, for循环**:提供循环控制,实现重复执行代码块的逻辑。
10. **序列操作**:序列是数据库中的自动递增数字,常用于生成唯一ID。
11. **数据类型转换**:将数据从一种类型转换到另一种类型。
12. **约束**:用于定义表的完整性规则,如NOT NULL、UNIQUE、FOREIGN KEY等。
13. **索引**:提高查询性能的机制,通过创建索引可以加快数据检索速度。
14. **子查询**:在SQL语句中嵌套查询,用于获取所需数据或在主查询中作为条件。
15. **分页**:通过LIMIT或ROWNUM等方法实现查询结果的分页显示。
16. **函数**:笔记中提到了字符串、数值、日期和转换函数,这些函数用于对相应数据类型进行操作和转换。
17. **SELECT查询**:包含了合并查询(JOIN)、子查询和其他高级查询技术。
这些知识点构成了一个全面的ORACLE PL/SQL编程基础,涵盖了从基本的控制结构到复杂的数据库交互操作。通过学习和掌握这些内容,可以有效地编写和管理ORACLE数据库的应用程序。