时间:2021-07-01 10:21:17 帮助过:22人阅读
DECLARE /* 声明部分: 在此声明 PL/SQL 用到的变量,类型及游标,以及局部的存储过程和函数 */ BEGIN /* 执行部分: 过程及 SQL 语句 , 即程序的主要部分 */ EXCEPTION /* 执行异常部分: 错误处理 */ END;
② 一般不要把变量名声明与表中字段名完全一样,如果这样可能得到不正确的结果 2、变量类型: 基本变量类型、复合类型(记录、表) ① 记录类型: 存放互不相同但逻辑相关的信息。(好像C语言的结构体啊)
-- 声明记录类型 TYPE record_type_test IS RECORD ( v_name employees.last_name%TYPE, salary NUMBER ); -- 定义记录类型变量 v_record_type_test record_type_test; -- %ROWTYPE 操作符, 返回一个记录类型, 我理解为表的一行 v_emp employees%ROWTYPE;② 表类型: 用来记录一张表的好多行
3、流程控制

问:什么时候用这么麻烦的显示游标?
答:SELECT INTO、INSERT、UPDATE、DELETE 均用隐式游标。
显示游标用于专门处理select语句返回多行数据。
4.1、显式游标
4.11 步骤: 定义游标、打开游标、提取游标数据、关闭游标
eg : 查询前 10 名员工的信息。
4.12、显式游标属性
| %FOUND | 布尔型属性,当最近一次读记录时成功返回,则值为 TRUE; |
| %NOTFOUND | 布尔型属性,与%FOUND 相反; |
| %ISOPEN | 布尔型属性,当游标已打开时返回 TRUE; |
| %ROWCOUNT | 数字型属性,返回已从游标中读取的记录数。 |
4.2、隐式游标
对于单条select、INSERT、UPDATE、DELETE 操作, 则由 ORACLE 系统自动地为这些操作设置游标并创建其工作区,这些由系统隐含创建的游标称为隐式游标。
4.2.1、隐式游标属性
| SQL%FOUND | 布尔型属性,当最近一次读记录时成功返回,则值为 TRUE; |
| SQL%NOTFOUND | 布尔型属性,与%FOUND 相反; |
| SQL %ROWCOUNT | 数字型属性, 返回已从游标中读取得记录数; |
| SQL %ISOPEN | 布尔型属性, 取值总是 FALSE。 SQL 命令执行完毕立即关闭隐式游标。 |

三、异常处理
pl/sql 有三种类型的异常错误:
1. 预定义 ( Predefined )错误
ORACLE 预定义的异常情况大约有 24 个。对这种异常情况的处理,无需在程序中定义, 由 ORACLE 自动将其引发。
2. 非预定义 ( Predefined )错误
即其他标准的 ORACLE 错误。对这种异常情况的处理,需要用户在程序中定义,然后由 ORACLE 自动将其引发。
eg、

eg:

pl/sql 基础笔记(上)
标签:数据库服务 循环语句 选项 学习 执行 acl create size 语句