博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PL/SQL学习笔记之异常
阅读量:2198 次
发布时间:2019-05-02

本文共 1428 字,大约阅读时间需要 4 分钟。

 

一:异常

    程序执行过程中出现错误情况被称为异常,主要有两种类型的异常:

  • 系统定义的异常

  • 用户定义的异常

二:系统定义的异常

Exception Oracle Error SQLCODE 描述
ACCESS_INTO_NULL 06530 -6530 为空对象赋值时引发
CASE_NOT_FOUND 06592 -6592 没有相应的选择语句时引发异常
COLLECTION_IS_NULL 06531 -6531 数组、集合未初始化却被使用时引发异常
DUP_VAL_ON_INDEX 00001 -1 当重复值试图被存储在具有唯一索引的列时被引发
INVALID_CURSOR 01001 -1001 游标操作异常
INVALID_NUMBER 01722 -1722 当一个字符串转换成一个数失败时引发
LOGIN_DENIED 01017 -1017 当使用无效的用户名或密码登录数据库时引发
NO_DATA_FOUND 01403 +100 当一个SELECT INTO语句无任何行返回时引发
NOT_LOGGED_ON 01012 -1012 在未连接到数据库却发出数据库调用时被引发
PROGRAM_ERROR 06501 -6501 当PL/SQL有一个程序内部错误时引发
ROWTYPE_MISMATCH 06504 -6504 当游标取值有不兼容的数据类型的变量被引发
SELF_IS_NULL 30625 -30625 当对象的成员方法被调用但对象类型的实例没有被初始化时引发异常
STORAGE_ERROR 06500 -6500 当PL/SQL内存不足或内存已损坏时引发异常
TOO_MANY_ROWS 01422 -1422 当SELECT INTO语句返回多行时引发异常
VALUE_ERROR 06502 -6502 算术、转换、截短或大小约束错误时引发
ZERO_DIVIDE 01476 1476 0作除数时引发异常

 

 

三:用户自定义异常(其实就是声明一个异常变量)

DECLARE   my-exception EXCEPTION;

 

四:手动抛出异常

DECLARE   exception_name EXCEPTION;BEGIN   IF condition THEN      RAISE exception_name;   END IF;EXCEPTION   WHEN exception_name THEN   statement;END;

 

五:异常处理

DECLARE   
BEGIN
EXCEPTION //异常处理部分 WHEN exception1 THEN exception1-handling-statements WHEN exception2 THEN exception2-handling-statements WHEN exception3 THEN exception3-handling-statements ........ WHEN others THEN exception3-handling-statementsEND;

 

转载于:https://www.cnblogs.com/ygj0930/p/8298198.html

你可能感兴趣的文章
checkbox设置字体颜色
查看>>
第一篇 HelloWorld.java重新学起
查看>>
ORACLE表空间扩张
查看>>
orcal 循环执行sql
查看>>
web.xml配置监听器,加载数据库信息配置文件ServletContextListener
查看>>
结构型模式之桥接模式(Bridge)
查看>>
行为型模式之状态模式(State)
查看>>
行为型模式之策略模式(Strategy)
查看>>
行为型模式之模板方法模式(TemplateMethod)
查看>>
行为型模式之访问者模式(Visitor)
查看>>
大小端详解
查看>>
source insight使用方法简介
查看>>
<stdarg.h>头文件的使用
查看>>
C++/C 宏定义(define)中# ## 的含义 宏拼接
查看>>
Git安装配置
查看>>
linux中fork()函数详解
查看>>
C语言字符、字符串操作偏僻函数总结
查看>>
Git的Patch功能
查看>>
分析C语言的声明
查看>>
TCP为什么是三次握手,为什么不是两次或者四次 && TCP四次挥手
查看>>