我有一个类似
的程序 create or replace package pack_body
as
procedure export(P_LOCATION_ID number
,retcode OUT NOCOPY NUMBER)
as
----body
end;
我在另一个包中调用此包
pack_body.export(p_location_id => null);
在这一行它会出错:
Error(28412,5): PLS-00306: wrong number or types of arguments in call to 'EXPORT'
我不能将null传递给数字数据类型变量吗?
答案 0 :(得分:4)
您需要将两个参数传递给过程:
DECLARE
rc NUMBER;
BEGIN
pack_body.export(
p_location_id => null,
retcode => rc
);
END;
/
答案 1 :(得分:0)
由于此retcode
是OUT
参数,因此表示正在从该特定过程pack_body.export
返回一个值,并且正在变量retcode
中分配
因此,在调用此过程pack_body.export
时,您需要在相同数据类型的过程中声明一些局部变量,其中可以分配retcode
的值。因此,您收到此错误。
您不能将null
用作赋值目标,因此您需要在本地声明具有相同数据类型的变量