Oracle学习之常用对象(三)—异常&变量&存储过程
来源:互联网 发布:mac笔记本配置交换机 编辑:程序博客网 时间:2024/06/08 01:36
这一章,我们谈谈变量,异常和存储过程。对他们的使用语法进行描述。
1、一般变量
DECLARE
--声明变量
V_NAME VARCHAR2(30);
V_ADDRESS VARCHAR2(60);
V_PHONE NUMBER;
BEGIN
V_NAME := 'mayun'; --初始化变量
END;
2、记录型变量
DECLARE
TYPE peopleinfo IS RECORD
(
v_name VARCHAR2(30),
v_address VARCHAR2(50),
v_phone NUMBER
);
v_people_1 peopleinfo;--定义变量
3、ROWTYPE类型
v_people peopleinfo%ROWTYPE;--表peopleinfo中所有字段组成的类型
v_people_1 peopleinfo.name%TYPE;--表peopleinfo中name字段的类型
二、异常处理
首先,异常处理是为了处理我们可能遇到的问题。异常有预定义异常、非预定义还有用户自定义异常。
1、ORACLE预定义的异常情况大约有24个。对这种异常情况的处理,无需在程序中定义,由ORACLE自动将其引发。
2、非预定义异常即其他标准的ORACLE错误。对这种异常情况的处理,需要用户在程序中定义,
然后由ORACLE自动将其引发。
3、用户定义异常是程序执行过程中,出现编程人员认为的非正常情况。对这种异常情况的处理,需要用户在程序中定义,
然后显式地在程序中将其引发。
平时,我用到的异常不多,常用的是预定义异常,其他的接触不多。
4、预定义实例
DECLARE
V_RESULT NUMBER;
V_EXCP VARCHAR2(50);
BEGIN
V_RESLUT := 100 / 0;
EXCEPTION
WHEN ZERO_DIVIDE THEN
V_EXCP := '除数为零!';
END;
5、非预定义实例
DECLARE
V_EXCP VARCHAR2(50);
V_NAME VARCHAR2(20);
2291_EXCP EXCEPTION; --定义异常情况
PRAGMA EXCEPTION_INIT(MY_2291_EXP, -2291); --把异常名称跟错误号关联
BEGIN
V_NAME := 'mayun';
UPDATE PEOPLEINFO SET NAME = V_NAME;
EXCEPTION
WHEN 2291_EXCP THEN
V_EXCP := '违反完整性约束,未找到父项关键字';
ROLLBACK;
END;
三、存储过程
存储过程是我们经常用到的数据处理方式,基本语法如下,具体处理的逻辑在代码块中实现。
/*创建存储过程*/
CREATE PROCEDURE SP_PEOPLEINFO(ACCT_MONTH VARCHAR2 IN,
V_RPT VARCHAR2 OUT) IS
BEGIN
V_SQL VARCHAR2(500);
V_SQL := 'create table test(t_id varcahr2(20),t_name varcahr2(30))';
V_SQL := 'drop table test';
END;
/*删除存储过程*/
DROP PROCEDURE SP_PEOPLEINFO;
- Oracle学习之常用对象(三)—异常&变量&存储过程
- ORACLE存储过程(三)之package
- Oracle数据库学习笔记之异常处理,存储过程
- Oracle之异常/存储过程/函数/触发器
- 【Oracle学习】之 存储过程
- Oracle学习之存储过程
- oracle学习之存储过程
- oracle之存储过程4-存储过程变量的使用
- Oracle存储过程---异常
- Oracle 存储过程学习笔记(三)
- ORACLE存储过程实战之三:进阶
- oracle中存储过程的三种异常捕获方式
- Oracle学习之常用对象(四)—数据处理
- Oracle 异常处理(函数、存储过程)
- Oracle-存储过程常用
- Snail—ORACLE基础之存储过程学习(四)
- oracle学习笔记之四(存储过程)
- oracle学习之路(二、存储过程)
- 《大话设计模式》导图总结
- 石子合并
- 【C语言】C语言运算符
- 堆空间
- 获取资源的值
- Oracle学习之常用对象(三)—异常&变量&存储过程
- vim精通
- 常用开发辅助工具推荐
- 设计模式之访问者模式
- hdu 1325 Is It A Tree?【并查集】
- JAVA 冒泡法排序
- 使用python爬取csdn博客访问量
- 【Hibernate系列】(五):关联映射之多对一
- Hdu3231【拓扑排序】