如何根据函数中的参数大小为oracle包中的Varchar2类型的全局变量设置大小。Oracle包中的全局变量大小
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:数字或值的错误:字符串缓冲区太小,错误。这应该是什么原因,这里p_lastname的大小是varchar2(1)。 谢谢。 – eatSleepCode