Home » SQL & PL/SQL » SQL & PL/SQL » Execute package ?
Execute package ? [message #6672] Thu, 01 May 2003 09:19 Go to next message
Shak
Messages: 13
Registered: May 2002
Junior Member
I want to execute a stored procedure from a package in SQL Worksheet. I have a package called PK_Test. I have a stored procedure called SP_Get.
When I use the following statement in SQL Worksheet I get a error

EXECUTE PK_TEST.SP_GET('TBLACCTS')

ORA-06550: line 2, column 2:
PLS-00306: wrong number or types of arguments in call to 'SP_GET'
ORA-06550: line 2, column 2:
PL/SQL: Statement ignored
---
PACKAGE PK_TEST
AS
TYPE SelectAllCur IS REF CURSOR;
PROCEDURE SP_GET(v_Table IN VARCHAR2, -- NAME OF TABLE
o_SelectAllCur OUT SelectAllCur); -- RETURN RECORD COUNT

END PK_TEST;

------------
PACKAGE BODY PK_TEST
AS

PROCEDURE SP_GET(v_Table IN VARCHAR2, -- NAME OF TABLE
o_SelectAllCur OUT SelectAllCur) -- RETURN RECORD COUNT
IS
SQLSTR1 VARCHAR2(100);
BEGIN
SQLSTR1 := 'SELECT COUNT(*) TOTALROWS FROM '|| v_Table;
OPEN o_SelectAllCur FOR
SQLSTR1;

END SP_GET;
END PK_TEST;
Re: Execute package ? [message #6673 is a reply to message #6672] Thu, 01 May 2003 11:07 Go to previous message
Todd Barry
Messages: 4819
Registered: August 2001
Senior Member
sql>var rc refcursor
sql>var tn varchar2(30)
sql>exec :tn := 'EMP'; pk_test.sp_get(:tn, :rc);
 
PL/SQL procedure successfully completed.
 
sql>print rc
 
TOTALROWS
---------
       14
 
1 row selected.
Previous Topic: How to use Bind Variables inside IN operator in Dynamic SQL
Next Topic: Need help with a join query
Goto Forum:
  


Current Time: Fri Apr 26 17:07:32 CDT 2024