Ok, sad si bolje razjasnio svoju situaciju. :)
Ja za vracanje kompletnog record seta koristim "user defined" PL/SQL tabele, a evo ti ukratko i ugrubo jedan primjer:
Code:
CREATE OR REPLACE PACKAGE pkGetRecordSet
AS
TYPE typTabelaSaArtiklima IS TABLE OF artikli%ROWTYPE;
PROCEDURE spGetRecordSet(pSifraArtikla IN VARCHAR2, pRecordSet OUT typTabelaSaArtiklima);
END pkGetRecordSet;
/
CREATE OR REPLACE PACKAGE BODY pkGetRecordSet
AS
CREATE OR REPLACE PROCEDURE spGetRecordSet(pSifraArtikla IN VARCHAR2, pRecordSet OUT typTabelaSaArtiklima)
AS
ltArtikli typTabelaSaArtiklima;
BEGIN
SELECT *
BULK COLLECT INTO ltArtikli
FROM artikli
WHERE sifra_artikla = pSifraArtikla;
pRecordSet := ltArtikli;
EXCEPTION
WHEN OTHERS THEN NULL; -- ili vrati neku gresku, po volji ti ...
END spGetRecordSet;
END pkGetRecordSet;
/
i onda pozivas proceduru sa
Code:
DECLARE
varijablaZaRecordSet pkGetRecordSet.typTabelaSaArtiklima;
BEGIN
pkGetRecordSet.spGetRecordSet('ABC123', varijablaZaRecordSet);
END;
Je l' to to sta ti treba?
Blog - baze podataka
---------------------
Oracle OCP DBA (9i & 10g)
Oracle Database: SQL Certified Expert
Oracle OCP Developer
Certified MySQL DBA