Table-Variablen in Oracle gespeicherten Prozedur

Ich bin neu in Oracle und ich müssen übersetzen meine gespeicherten Prozedur von SQL Server auf oracle. In SQL Server, ich habe die Funktion gibt eine table-variable.

Ausführung sieht wie folgt aus:

Declare @tblTSVal table(stValue varchar(500), itemKey varchar(255), props varchar(max))
insert @tblTSVal(stValue, itemKey, props) 
  select * from dbo.fn_ag_valuesToTable(@tsVal)

Schreibe ich diese Funktion in meiner Oracle-Datenbank und es funktioniert. Aber ich weiß nicht, wie zu erklären, eine table-variable in der gespeicherten Prozedur.

Jetzt versuche ich so:

Erklärung:

type AGValues as object
(
   stValue varchar(255),
   itemKey varchar(255),
   props varchar(8000)
);
type ValTBL is Table of AGValues;   

Ausführung:

insert into tblTSVal(stValue, itemKey, props) 
  select * from TABLE(dbMis.fn_ag_valuesToTable(tsVal));

Dass die Ursachen der Fehler:

Tabelle oder view nicht vorhanden.

Geben Sie mir einige Ratschläge bitte.

  • Ist dbMis.fn_ag_valuesToTable eine Funktion zurückgibt, die ein ValTBL? Ist tblTSVal eine lokale variable vom Typ ValTBL? Ist tsVal eine lokale variable, die Sie übergeben, um Ihre Funktion?
InformationsquelleAutor Gleb | 2014-07-18
Schreibe einen Kommentar