### Oracle教学6笔记知识点概述
本篇Oracle教学6笔记主要围绕PL/SQL编程展开,深入讲解了变量的概念、使用方法及各类控制结构如条件判断语句和循环等。以下是详细的知识点总结:
#### 变量
**概念**
- **变量**是PL/SQL中用于存储单一数据的基本单元。
**变量的使用步骤**
1. **变量的创建**
- 使用`DECLARE`关键字声明变量。
- 定义变量时需指定变量名称和数据类型。
```sql
DECLARE
变量名1 数据类型1;
变量名2 数据类型2;
```
2. **变量的赋值**
- 在声明时直接赋值。
```sql
DECLARE
变量名 数据类型:=值;
```
- 在程序执行过程中赋值。
```sql
变量名:=值;
```
3. **变量的使用**
- 变量必须在`BEGIN END`语句块中使用。
4. **注意事项**
- 标识符必须以字母开头。
- 标识符中可以包含数字、字母、下划线、`$`、`#`。
- 标识符的最大长度为30个字符。
- 标识符不区分大小写。
- 不能使用PL/SQL中的保留字作为变量名。
**变量分类**
1. **属性列变量**
- 定义变量时,指定变量的数据类型为表中某列的数据类型。
```sql
DECLARE
变量名 表名.列名%TYPE;
```
2. **属性行变量**
- 定义变量时,指定变量的数据类型为表的一整行数据类型。
```sql
DECLARE
变量名 表名%ROWTYPE;
```
- 适用于具有多个列的表,能有效避免遗漏和错误。
3. **自定义类型**
- 用户可以定义自己的复合类型,类似于自定义数据结构。
```plsql
TYPE 自定义类型 AS RECORD (字段1 数据类型1, 字段2 数据类型2);
DECLARE
变量名 自定义类型;
```
#### 条件判断语句
**IF条件**
- 基本格式
```plsql
IF 表达式 THEN
语句
END IF;
```
**IF ELSE条件**
- 增加了`ELSE`分支。
```plsql
IF 表达式 THEN
语句1
ELSE
语句2
END IF;
```
**IF ELSIF ELSE语句**
- 支持多个条件分支。
```plsql
IF 表达式1 THEN
语句1
ELSIF 表达式2 THEN
语句2
ELSE
语句3
END IF;
```
**CASE语句**
- 类似于多分支选择结构。
```plsql
CASE 变量
WHEN 值1 THEN
语句1
WHEN 值2 THEN
语句2
ELSE
语句3
END CASE;
```
- `CASE`语句可用于替代`IF ELSIF`语句,实现更简洁的条件查询。
- 直接在SQL语句中使用`CASE`语句。
```sql
SELECT
CASE 列
WHEN 值1 THEN 语句1
WHEN 值2 THEN 语句2
ELSE 语句3
END CASE
FROM 表名;
```
#### 循环
**LOOP循环**
- 最基本的循环结构。
```plsql
LOOP
循环体
END LOOP;
```
- 必须通过`EXIT`或`EXIT WHEN`语句退出循环。
**WHILE LOOP循环**
- 结合`WHILE`条件判断。
```plsql
WHILE 表达式
LOOP
循环体
END LOOP;
```
**FOR LOOP循环**
- 支持指定循环范围。
```plsql
FOR 变量 IN [REVERSE] 起始值 .. 结束值
LOOP
循环体
END LOOP;
```
- `REVERSE`关键字表示逆序遍历。
本篇Oracle教学6笔记不仅介绍了PL/SQL中变量的基础知识,还详细阐述了条件判断语句和循环控制结构的使用方法,为学习者提供了全面而深入的理解基础。