读书人

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

发布时间: 2012-12-20 09:53:21 作者: rapoo

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;
就行了
------解决方法--------------------
结果集有多少记录呀, 只有一条记录吗?

    

读书人网 >编程

热点推荐