在Oracle 10g中,通过触发器在两个数据库之间传递数据,但是程序中总是抛出如下错误:
ORA-01438: value larger than specified precision allowed for this column
提示某一列精度不对,但是却没有提示出是那一列,经过仔细检查,始终没有发现问题原因,于是尝试直接在PL/SQL中执行一次插入命令,看看触发器是否正常工作,但是这次依然不成功,报错ORA-06592, 提示缺少CASE。
经过不断的搜索,终于在网上找到了解决办法,CASE语句中添加上ELSE语句即可。
CASE
WHEN ...
ELSE
NULL;
END CASE;
修改触发器之后,从PLSQL中插入成功,又试了一下通过此程序插入,竟然也成功了!
简单case语句与搜索式case语句的异同
--相同点:两者都用于根据不同的条件,来执行与之对应的语句或完成特定的任务,甚至某些情况下可以互换替换。
--不同点:
--简单case语句提供一个selector选择器,且EXPRESSION的数据类型一定与selector的数据类型匹配,否则报错。
--搜索case语句没有selector选择器,且when子句之后得到的结果一定是一个布尔型值(NULL,TRUR,FALSE)
不知道之间有什么关联,对Oracle没什么研究,就此记录一下,以后遇到类似问题以便解决。
敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载像素火影骨架佐助 (Perseverance Fire Shadow)手机版v1.16
下载要塞英雄 安卓版v33.20.0-39082670-Android
下载梦想城镇vivo最新版本 安卓版v12.0.1
梦想城镇vivo版是这款卡通风模拟经营类手游的渠道服版本,玩
怦然心动的瞬间 安卓版v1.0
怦然心动的瞬间是一款真人向的恋爱互动游戏,在游戏中玩家将扮演
曼尼汉堡店游戏 安卓版v1.0.3
曼尼汉堡店是一款非常好玩的精品恐怖类型冒险游戏,在这款游戏中
现代总统模拟器去广告版 安卓版v1.0.46
现代总统模拟器是一款休闲养成类游戏,可能对于不少的玩家来说都
现代总统模拟器付费完整版 安卓版v1.0.46
现代总统模拟器高级版在商店是需要付费的,相对于普通版本,高级