首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

ORA-04091: 表 XXX 发生了变化,触发器/函数不能读。如何获得异常类型?

2014-01-28 
ORA-04091: 表 XXX 发生了变化,触发器/函数不能读。如何获得异常类型?这是在PROCEDURE执行中产生的异常,请问

ORA-04091: 表 XXX 发生了变化,触发器/函数不能读。如何获得异常类型?

这是在PROCEDURE执行中产生的异常,请问它对应的异常类型是什么?我想知道。如果知道了,就可以在异常处理里写:EXCEPTION
WHEN XXX(异常类型) THEN

------解决方法--------------------------------------------------------
这是 oracle 预定义异常,最近也在用,正好给你,具体如下:

CURSOR_ALREADY_OPEN ORA-6511 试图打开一个已打开的光标
DUP_VAL_ON_INDEX ORA-0001 试图破坏一个唯一性限制
INVALID_CURSOR ORA-1001 试图使用一个无效的光标
INVALID_NUMBER ORA-1722 试图对非数字值进行数字操作
LOGIN_DENIED ORA-1017 无效的用户名或者口令
NO_DATA_FOUND ORA-1403 查询未找到数据
NOT_LOGGED_ON ORA-1012 还未连接就试图数据库操作
PROGRAM_ERROR ORA-6501 内部错误
ROWTYPE_MISMATCH ORA-6504 主变量和光标的类型不兼容
STORAGE_ERROR ORA-6500 内部错误
TIMEOUT_ON_RESOURCE ORA-0051 发生超时
TOO_MANY_ROWS ORA-1422 SELECT INTD命令返回的多行
TRANSACTION_BACKED_OUT ORA-006 由于死锁提交被退回
VALUE_ERROR ORA-6502 转换或者裁剪错误
ZERO_DIVIDE ORA-1476 试图被零除

        

热点排行