PL SQL 用记录集接收数据
来源:互联网 发布:淘宝新疆物流交通管制 编辑:程序博客网 时间:2024/06/10 00:07
用记录集接收数据的时候 ,SELECT 语句返回的只能是一行结果,否则会出现异常。如:
DECLARE
--定义一个记录集
TYPE ab01_record_type IS RECORD(
v_aab004 ab01.AAB004%TYPE,--锚定ab01的数据类型
v_aab003 ab01.AAB003%TYPE);--锚定ab01的数据类型
rec_ab01 ab01_record_type;
BEGIN
BEGIN
SELECT aab004, aab003 INTO rec_ab01 FROM t_ab01;
-- WHERE t_ab01.aab001 = &no;
DBMS_OUTPUT.put_line('单位名称是:' || rec_ab01.v_aab004);
DBMS_OUTPUT.put_line('二级单位编码是:' || rec_ab01.v_aab003);
END;
如果不进行异常处理则程序运行出错。因此应该扑捉异常,同时给where一个条件,让其返回的只有一行结果。在where中使用变量名时,变量名不能与列名相同,如aab001=aab001
如果找不到数据,同样也会出现异常,因此,在每个查询中都要对异常进行捕捉。
完整的程序
DECLARE
--定义一个记录集
TYPE ab01_record_type IS RECORD(
v_aab004 ab01.AAB004%TYPE,--锚定ab01的数据类型
v_aab003 ab01.AAB003%TYPE);--锚定ab01的数据类型
rec_ab01 ab01_record_type;
BEGIN
BEGIN
SELECT aab004, aab003
INTO rec_ab01
FROM t_ab01
WHERE t_ab01.aab001 = &no;
DBMS_OUTPUT.put_line('单位名称是:' || rec_ab01.v_aab004);
DBMS_OUTPUT.put_line('二级单位编码是:' || rec_ab01.v_aab003);
--异常处理
EXCEPTION
WHEN NO_DATA_FOUND THEN--找不到数据
DBMS_OUTPUT.put_line('找不到相应的数据');
WHEN TOO_MANY_ROWS THEN--返回多行
dbms_output.put_line('返回不只一行数据');
WHEN OTHERS THEN
DBMS_OUTPUT.put_line('出现其他异常'||SQLERRM);
END;
END;
- PL SQL 用记录集接收数据
- 使用PL/SQL 记录变量接收游标数据
- PL/SQL --> PL/SQL记录
- PL/SQL --> PL/SQL记录
- pl/sql记录类型
- PL/SQL记录
- PL/SQL记录
- PL/SQL 记录类型
- PL/SQL-记录类型
- PL/SQL表 和PL/SQL记录
- PL/SQL-->PL/SQL记录
- PL/SQL8——PL/SQL记录
- PL SQL 操纵数据
- PL/SQL 数据生成器
- PL/SQL数据设计
- pl/sql 记录与表
- pl/sql记录和表
- oracle:PL/SQL record记录
- 庖丁系统的分词原理
- 程序控制开始菜单的弹出 C#
- JavaScript判断浏览器类型及版本
- 表结构说明
- CJK刀的解析(一)
- PL SQL 用记录集接收数据
- Knife接口解析
- 汉字数目与阿拉伯数字转化之二
- 我不能下载东西
- 在C#中使用API回调函数的方法
- Flex绘图测试程序
- C#中捕捉对话框的文本内容 EnumChildWindows
- js实现trim
- CSDN 2009 英雄大会老紫竹的发言全文