I'm not much in Oracle. I use PL/SQL Developer.
I have the following package:
create or replace package PKG1
as
procedure INIT
(
nRN in number,
nREC_TYPE in number,
nIDENT out number
);
I'm not sure how to call it from PL/SQL Developer environment. I've tried this:
DECLARE
procId NUMBER;
BEGIN
EXECUTE PKG1.INIT(1143824, 0, procId);
DBMS_OUTPUT.PUT_LINE(procId);
END;
But, there's an ORA-06550 (PLS-00103) error.
As you can see I have 2 input and 1 output parameter. I want to print out output parameter. That's all.
Thanks in advance for help.
Goran
You cannot grant execute on a procedure inside a package. You can grant execute to the whole package only.
You can call a stored procedure inside a user-defined function.
Because all objects in a package are stored as a unit, the ALTER PACKAGE statement recompiles all package objects. You cannot use the ALTER PROCEDURE statement or ALTER FUNCTION statement to recompile individually a procedure or function that is part of a package.
You're nearly there, just take out the EXECUTE:
DECLARE
procId NUMBER;
BEGIN
PKG1.INIT(1143824, 0, procId);
DBMS_OUTPUT.PUT_LINE(procId);
END;
To those that are incline to use GUI:
Click Right mouse button on procecdure name then select Test
Then in new window you will see script generated just add the parameters and click on Start Debugger
or F9
Hope this saves you some time.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With