我在Oracle数据库10g中有一个存储过程,其中的输入是varchar2,但是在输入字符串较长(不确定确切长度可能> 8000)时无法运行它。
我的想法是“ intext varchar2”(如下所示)默认情况下太小。在需要更长字符串的其他情况下,可以将varchar2定义为“ intext2 VARCHAR2(32767);”。我试图在下面的代码中类似地定义大小,但是我的语法不正确。
create or replace PROCEDURE TESTPROC ( intext IN VARCHAR2
) AS ....
intext varchar2的(默认)大小是多少?
可以定义(增加)该大小吗?
谢谢
最佳答案
您不能为过程的VARCHAR2参数指定大小。
该过程应该愉快地接受最大为32k的字符串(PL / SQL中VARCHAR2的最大大小)。如果是从SQL而不是PL / SQL调用的函数,则限制为4k,因为SQL中VARCHAR2的最大大小仅为4k。
关于oracle - Oracle存储过程的varchar2输入的默认大小是多少,可以更改吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4675417/