oracle - Oracle 存储过程的 varchar2 输入的默认大小是多少?可以更改吗?

标签 oracle stored-procedures varchar2

我在 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/

相关文章:

sql - 查询以获取 Oracle DB 版本

sql - 从表中获取第一条唯一记录

c# - 在 .NET 中捕获存储过程打印输出(不同的模型!)

sql - 插入 CLOB 非常非常慢

sql - GORM/HQL - LISTAGG

SQL数据类型问题

php - 使用 PHP 的多层应用程序?

mysql - 提高 MySQL 中存储过程的性能

oracle11g - Oracle VARCHAR2使用最大长度