在PLSQL中,存储过程的输出参数(varchar2)最大支持多大
http://www.it2down.com/it-oracle-develop/587851.htm
在PLSQL中,存儲過程的輸出參數(varchar2)最大支持多大?
用的數據庫是 oracle 10.2. , PLSQL 7.1 。?
我自己做了個測試
create or replace procedure te1(ResBuff out Varchar2) is
begin
? ResBuff := LPAD('a',2001,'b');
end ;
執行結果報錯:
ORA-06502:PL/SQL:number or value error:character string buffer too small
長度2000的時候正常,配置默認的NLS_LANGUAGE = AMERICAN;NLS_CHARACTERSET = ZHS16GBK;
補充,這個輸出參數Varchar2最大支持長度能修改嗎?
------解決的方法--------------------------------------------------------
最大支持4000,我完全沒發現你說的問題
create or replace procedure te1(ResBuff out Varchar2) is
begin
ResBuff := LPAD('a',2001,'b');
end ;
DECLARE
a varchar2(3000);
BEGIN
te1(a);
dbms_output.put_line(a);
END;
------解決的方法--------------------------------------------------------
你是不是在DECLARE變量的時候,只定義了2000的長度。最長可以是4000
------解決的方法--------------------------------------------------------
存儲過程中varchar2類型的變量,最大長度可以達到緩沖區的最大長度,即32767
而對于字段來說varchar2類型的最大長度是4000
例:
?
總結
以上是生活随笔為你收集整理的在PLSQL中,存储过程的输出参数(varchar2)最大支持多大的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POI学习笔记 自定义颜色
- 下一篇: This Style does not