【发布时间】:2013-04-14 06:05:45
【问题描述】:
如何根据函数的参数大小为oracle包中Varchar2类型的全局变量设置大小。
CREATE OR REPLACE PACKAGE Test
AS
g_lastname Varchar2(15);
FUNCTION search( p_lastname IN varchar2);
END;
CREATE OR REPLACE PACKAGE BODY Test
AS
FUNCTION search(p_lastname IN VARCHAR2) return VARCHAR2
IS
BEGIN
g_lastname := p_lastname;
return g_lastname;
END;
END;
这里的问题是如果 p_lastname 的大小超过 15 就会出错。
【问题讨论】:
-
@APC 我在将 p_lastname 的值分配给 g_lastname 时询问了这个问题,它给了我 ORA-06502: PL/SQL: numeric or value error: string buffer too small as error。这应该是什么原因,这里 p_lastname 的大小是 varchar2(1)。谢谢。
标签: oracle package global-variables