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

发布于 2024-10-11 14:19:06 字数 377 浏览 3 评论 0原文

我在 Oracle 数据库 10g 中有一个存储过程,其中我的输入是 varchar2,但是当输入字符串很长(不确定确切长度可能 > 8000)时,我在运行它时遇到问题。

我的想法是“intext varchar2”(如下所示)默认太小。在其他情况下,如果我需要更长的字符串,我可能会将 varchar2 定义为“intext2 VARCHAR2(32767);”我尝试在下面的代码中类似地定义大小,但我的语法不正确。

create or replace PROCEDURE TESTPROC ( intext IN VARCHAR2

) AS ....

intext varchar2 的(默认)大小是多少?

可以定义(增加)该大小吗?

I have a stored procedure in Oracle Database 10g where my input is a varchar2 but I'm having issues getting it to run when the input string is long (not sure of exact length maybe > 8000).

My thought is the 'intext varchar2' (as below) is by default is too small. In other cases where I need a longer string I might define a varchar2 as "intext2 VARCHAR2(32767);" I tried to define the size similarly in the code below but my syntax is incorrect.

create or replace PROCEDURE TESTPROC ( intext IN VARCHAR2

) AS ....

What is the (default) size of the intext varchar2?

Can that size be defined (increased)?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

在风中等你 2024-10-18 14:19:06

您不能为过程指定 VARCHAR2 参数的大小。

该过程应该乐意接受最大 32k 大小的字符串(PL/SQL 中 VARCHAR2 的最大大小)。如果它是从 SQL 而不是 PL/SQL 调用的函数,则限制将为 4k,因为 SQL 中 VARCHAR2 的最大大小仅为 4k。

You cannot specify a size for a VARCHAR2 parameter to a procedure.

The procedure should happily accept strings up to 32k in size (the maximum size of a VARCHAR2 in PL/SQL). If it were a function that was being called from SQL rather than PL/SQL, the limit would be 4k because the maximum size of a VARCHAR2 in SQL is only 4k.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文