最近用greenplum数据库写存储过程时,发现 这个 22001 字符串被截断的错误,由于之前
create or replace function () RETURNS record AS $BODY$ declare a varchar(50) begin a:='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; end $BODY$ LANGUAGE plpgsql VOLATILE;
运行会报错,错误信息是 22001 字符串被截断 。查了好长时间 才发现这个错误 。因为开发都是从项目里原有的代码拷贝 从来没出过这个错 ,觉得很奇怪。而且变量赋值,一般都是从表里查的 没有显示的在代码里。
去百度了 22001 也只有22001 字符串被截断 这个解释 ,最后几个小时才找到原因 变量赋值超过变量声明的长度了。
原文链接:https://www.f2er.com/postgresql/194046.html