Wie man zwei Rückgabewerte von Gespeicherten Oracle-Prozedur
Weiß ich, wie man eine Rückkehr Wert von Oracle-SP in Oracle wie folgt
MyReturn := MY_ORACLE_SP ();
Wenn MY_ORACLE_SP2 Rückgabewert ist mehr als eine. Wie kann ich das machen?
"Mehr als eine" horizontal (also mehrere Felder) oder vertikal (mehrere Zeilen)?
Funktionen zurückgeben kann, nur ein Objekt. Aber es kann von einem komplexen Typ (
Meine SP zurück zwei Wert. Das ist, warum ich weiß nicht, wie man diese zwei Rückgabewert von meinem SP.
Vielleicht brauchen Sie ein array als return-Wert?
das ist es, was ich will.
Funktionen zurückgeben kann, nur ein Objekt. Aber es kann von einem komplexen Typ (
TABLE OF some_type
). Aber vielleicht möchten Sie Verfahren?Meine SP zurück zwei Wert. Das ist, warum ich weiß nicht, wie man diese zwei Rückgabewert von meinem SP.
Vielleicht brauchen Sie ein array als return-Wert?
das ist es, was ich will.
InformationsquelleAutor PPShein | 2012-02-28
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ausgänge: 150 20
InformationsquelleAutor Benoit
Was Sie haben, es ist technisch nicht eine Verfahren, aber ein Funktion -- der Unterschied ist, das eine Prozedur hat keinen Rückgabewert und dürfen nicht verwendet werden als die der rechten Seite einer Zuweisungsanweisung.
Haben Sie grundsätzlich zwei Optionen:
(1) Verwenden Sie die OUT-Parameter. In diesem Fall würde ich es machen, eine Prozedur mit zwei Parametern. Generell Menschen wissen nicht, wie Funktionen, die auch die OUT-Parameter, da es gegen die üblichen Erwartungen. @Benoit Antwort zeigt diese Methode.
(2) Definieren Sie einen Typ, der mehrere Werte enthält und verwenden Sie diese als Rückgabe-Typ der Funktion. Beispiel:
InformationsquelleAutor Dave Costa
Verwenden Sie OUTPUT-Parameter anstatt der return-Wert.
InformationsquelleAutor vulkanino
Versuchen Sie, den untenstehenden code habe ich gerade geändert die Antwort von Benutzer Benoit
InformationsquelleAutor dbkiller