unfortunately the second package does not compile as it 'returns 1'
which is not a valid pl/SQL command
Eugene Krivdyuk wrote:
2008/6/10 John Scoles <[EMAIL PROTECTED]>:
More a PL/SQL question than a DBI/DBD one but I will give it a shot but I
will need to have the original package or at least a dumbed down version of
it to test it out.
Please, see attached package source.
I've found workaround for this issue (misunderstanding?). If two
function versions have different parameter names, e.g.:
FUNCTION #1:
procedure test_func(i_nParam1 in NUMBER
, i_dtParam2 in DATE
, i_dtParam3 in DATE
, o_nDays out NUMBER
) is
begin
return 1;
end test_func;
FUNCTION #2:
procedure test_func(i_nParam1 in NUMBER
, i_sParam2 in VARCHAR2
, i_sParam3 in VARCHAR2
, o_nDays out NUMBER
) is
begin
return 1;
end test_func;
With this, we can use named parameters while calling procedure:
$sSQL = q{
begin
package.function_name( i_nParam1 => :i_param1
, i_sParam2 => :i_param2
, i_sParam3 => :i_param3
, o_nDays => :o_param1
);
end;
};
The question here is: What if parameters named equally in both functions ?