Oracle10.2.0.1的bug

husthxd發表於2006-11-18

SQL> declare
2 v_o varchar2(50);
3 begin
4 select max(c1) into v_o from t1;
5 dbms_output.put_line('test = '||v_o);
6 end;
7 /
declare
*
第 1 行出現錯誤:
ORA-06502: PL/SQL: 數字或值錯誤 : 字串緩衝區太小


解決方法:

1.use blank_trimming=true
2.use to_char
3.use bigger variable for storage - varchar2(4000)

SQL> declare
2 v_o varchar2(50);
3 begin
4 select to_char(max(c1)) into v_o from t1;
5 dbms_output.put_line('test = '||v_o);
6 end;
7 /
test = test

PL/SQL 過程已成功完成。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/6906/viewspace-22092/,如需轉載,請註明出處,否則將追究法律責任。

相關文章