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

Oracle触发器字符串缓冲区太小的异常

2012-12-20 
Oracle触发器字符串缓冲区太小的错误!点击右边红色标题查看本文完整版:Oracle触发器字符串缓冲区太小的错

Oracle触发器字符串缓冲区太小的错误!
点击右边红色标题查看本文完整版:Oracle触发器字符串缓冲区太小的错误!

定义触发器
...
declare
D_sid varchar2(100);
...
begin
? select CASE? WHEN nvl(sname, '') is null THEN cast(sid AS varchar(100)) ELSE sname END into D_sid
? from student;
end;
...

Oracle数据库中sname varchar2(36),sid number(10)


执行触发器的时候 报错:字符串缓冲区太小 错误行数在case when那一行

请大家帮忙解决下

------解决方法--------------------
你将else sname 改成else cast(sname as varchar(100))试试

其实你写成
select nvl(sname,to_char(sid)) into D_sid
? from student;
就行了
------解决方法--------------------
结果集有多少记录呀, 只有一条记录吗?

    

热点排行