| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: stored proc for select statement
In article <H5zW.189$Tf3.5121906_at_news.ipass.net>,
"David Sisk" <davesisk_at_ipass.net> wrote:
>
> Hi: Could you elaborate more? We've tried to do this before (from VB) and
> couldn't make it work. Please see below.....
>
> Thanks,
> Dave
>
Hi.
Following an example ( Oracle 7.3.2.3 ) that works just fine:
PROCEDURE open_mck0000_cr ( from_number IN NUMBER );
PROCEDURE fetch_mck0000_cr ( rc IN OUT NUMBER,
mck0000_row IN OUT mck0000%rowtype );
PROCEDURE close_mck0000_cr;
END mck0000_ftch;
/
3. Create PACKAGE body:
CREATE OR REPLACE PACKAGE BODY mck0000_ftch AS
PROCEDURE open_mck0000_cr ( from_number IN NUMBER ) IS
BEGIN
OPEN mck0000_cr ( from_number );
END open_mck0000_cr;
PROCEDURE fetch_mck0000_cr ( rc IN OUT NUMBER,
mck0000_row IN OUT mck0000%ROWTYPE ) IS
BEGIN
rc := 0;
FETCH mck0000_CR INTO mck0000_row;
IF mck0000_cr%NOTFOUND THEN
rc := 1;
END IF;
END fetch_mck0000_cr;
PROCEDURE close_mck0000_cr IS
BEGIN
CLOSE mck0000_cr;
END close_mck0000_cr;
END mck0000_ftch;
/
4. Execute stored procedures from PL/SQL ( anywhere ):
set serveroutput on
DECLARE
ret_code NUMBER;
tab_row mck0000%ROWTYPE;
BEGIN
mck0000_ftch.open_mck0000_cr(2);
ret_code := 0;
mck0000_ftch.fetch_mck0000_cr ( ret_code, tab_row );
WHILE ( ret_code = 0 ) LOOP
DBMS_OUTPUT.PUT_LINE ( tab_row.f0001 || ' ' || tab_row.f0002);
mck0000_ftch.fetch_mck0000_cr ( ret_code, tab_row );
END LOOP;
mck0000_ftch.close_mck0000_cr;
Michael Bialik.
-----== Posted via Deja News, The Leader in Internet Discussion ==----- http://www.dejanews.com/ Now offering spam-free web-based newsreading Received on Thu Apr 09 1998 - 15:26:31 CDT
![]() |
![]() |