2011-01-12 10 views
13

Girişim varchar2 olan Oracle Database 10g'de saklı bir yordam var ancak giriş dizesi uzun olduğunda (tam uzunluktan emin olabilirsiniz> 8000) sorun yaşıyorum.Oracle saklı yordamında varchar2 girdisinin varsayılan boyutu nedir ve değiştirilebilir mi?

Düşüncem şudur: 'intext varchar2' (aşağıda olduğu gibi) varsayılan olarak çok küçüktür. Daha uzun bir dizeye ihtiyaç duyduğum diğer durumlarda, varchar2'yi "intext2 VARCHAR2 (32767); Boyutu aşağıdaki kodda benzer şekilde tanımlamaya çalıştım ancak sözdizim yanlış.

create or replace PROCEDURE TESTPROC (intext IN VARCHAR2 

) AS .... 

Intext varchar2'nin (varsayılan) boyutu nedir?

Bu boyut tanımlanabilir mi (artırılmış)?

sayesinde

cevap

30

Bir prosedüre bir VARCHAR2 parametresi için bir boyut belirleyemezsiniz.

Prosedür, 32k'ye kadar olan boyutlarda dizeleri (PL/SQL'deki bir maksimum VARCHAR2 boyutu) kabul etmelidir. SQL/SQL'den ziyade SQL'den çağrılan bir işlev olsaydı, SQL'de bir VARCHAR2'nin maksimum boyutu yalnızca 4k olduğu için sınır 4k ​​olur.

İlgili konular