Oracle - wählen Sie eine bestimmte Spalte von ref cursor

Ich habe eine Tabelle mit dem Namen Table1. Es hat viele Spalten, eine davon ist " Column1. Ich weiß nicht, die anderen Spalten, die Sie möglicherweise ändern sich sogar manchmal. Es ist eine stark typisierte ref cursor-Typ, die Renditen der Table1-Tabelle%rowtype, benannt cur_Table1. Ich habe eine gespeicherte Prozedur mit dem Namen SP1, die hat einen parameter vom Typ cur_Table1. Ich rufe dieses SP1 gespeicherte Prozedur aus einer anderen Datenbank, die nur sieht, wie Sie diese gespeicherte Prozedur, aber nicht die Tabelle oder der Typ selbst. Wie wähle ich nur spalte1 aus der zurückgegebene cursor? Ich weiß, ich kann Holen, die in einem Datensatz oder in so viele Variablen wie die cursor-Spalten, aber ich kenne nur eine Spalte für die Existenz, also kann ich nicht erklären, das komplette Album oder die korrekte Anzahl von Variablen.

  • Bitte erläutern Sie, wie Sie vorschlagen, zum Aufruf einer Prozedur in einer anderen Datenbank (oder eine beliebige Datenbank, für diese Angelegenheit), ohne in der Lage zu sehen, die Typen der Argumente.
  • Ich habe ein "grant execute on SP zu einem anderen", aber nicht gewähren, nichts anderes, nicht auf die Tabelle oder die Typen, die Paket. Und es funktioniert.
  • Oh, und auf die aufrufende Seite, lege ich den out-parameter der SP in eine sys_refcursor, natürlich.
InformationsquelleAutor fejesjoco | 2012-04-25
Schreibe einen Kommentar