Salve a tutti, ho un problema e non riesco a venirne a capo...
ho installato oracle express 11g su windows server 2008r2, dove ho implementato una function che ritorna un type definito da me:
e poicodice:create or replace type col as object ( id_prodotto number, DESCR_PRODOTTO varchar2(50), PREZZO_PRODOTTO number(6,2), QUANTITA_MAGAZZINO number(10,0), DISPONIBILITA_PRODOTTO number (1,0) );
.. e questa è la functioncodice:create or replace type prod_tab as table of col;
ho implementato il tutto con sql developer, ed il debug funziona correttamente.codice:create or replace FUNCTION RETURN_PROD_TAB RETURN prod_tab AS cursor cur is select * from prodotti; prod_rec_type prodotti%rowtype; tab_prod prod_tab; begin tab_prod:=prod_tab(); open cur; loop exit when cur%notfound; tab_prod.extend; fetch cur into prod_rec_type; tab_prod(tab_prod.count):=col(prod_rec_type.id_prodotto, prod_rec_type.descr_prodotto, prod_rec_type.PREZZO_PRODOTTO, prod_rec_type.QUANTITA_MAGAZZINO, prod_rec_type.DISPONIBILITA_PRODOTTO); end loop; close cur; return tab_prod; END RETURN_PROD_TAB;
in vs2012, il debug della stessa funzione, mi da il seguente errore:
nel tab "model browser" ,non c'è verso di importare la function, se invece cambio il returned type da tab_prod a number, funziona tutto correttamente....codice:ORA-06550: line 1, column 16: PLS-00382: expression is of wrong type ORA-06550: line 1, column 7: PL/SQL: Statement ignored
ora, credo che in vs non ci sia il type tab_prod, e non so come importarlo...
qualcuno mi darebbe una mano????
ringrazio in anticipo

Rispondi quotando