在PLSQL中,存储过程的输出参数(varchar2)最大支持多大
http://www.it2down.com/it-oracle-develop/587851.htm
在PLSQL中,存儲(chǔ)過程的輸出參數(shù)(varchar2)最大支持多大?
用的數(shù)據(jù)庫(kù)是 oracle 10.2. , PLSQL 7.1 。?
我自己做了個(gè)測(cè)試
create or replace procedure te1(ResBuff out Varchar2) is
begin
? ResBuff := LPAD('a',2001,'b');
end ;
執(zhí)行結(jié)果報(bào)錯(cuò):
ORA-06502:PL/SQL:number or value error:character string buffer too small
長(zhǎng)度2000的時(shí)候正常,配置默認(rèn)的NLS_LANGUAGE = AMERICAN;NLS_CHARACTERSET = ZHS16GBK;
補(bǔ)充,這個(gè)輸出參數(shù)Varchar2最大支持長(zhǎng)度能修改嗎?
------解決的方法--------------------------------------------------------
最大支持4000,我完全沒發(fā)現(xiàn)你說的問題
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變量的時(shí)候,只定義了2000的長(zhǎng)度。最長(zhǎng)可以是4000
------解決的方法--------------------------------------------------------
存儲(chǔ)過程中varchar2類型的變量,最大長(zhǎng)度可以達(dá)到緩沖區(qū)的最大長(zhǎng)度,即32767
而對(duì)于字段來說varchar2類型的最大長(zhǎng)度是4000
例:
?
總結(jié)
以上是生活随笔為你收集整理的在PLSQL中,存储过程的输出参数(varchar2)最大支持多大的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: POI学习笔记 自定义颜色
- 下一篇: This Style does not