2016-07-12 17 views
-1

Ich habe sehr begrenzte Fähigkeiten auf Pl-SQL und ich habe eine sehr komplizierte Situation.Abrufen eines Resultsets durch ein Orakel-Verfahren

In mssql habe ich eine Prozedur, die abhängig von den bereitgestellten Parametern eine Ergebnismenge mit variierender Anzahl von Spalten aus unterschiedlichen Quellentabellen zurückgibt.

In Orakel habe ich Schwierigkeiten, ein Proc zu erstellen, das das gleiche tut.

Ich muss Abfrage innerhalb generieren, führen Sie es aus und das Ergebnis zurückgeben.

Ich suchte viel und probierte viele Dinge aus. Jetzt mache ich jetzt, dass der beste Weg, dies zu tun ist, Abfrage in einen Cursor ausführen, die ich nicht schaffen kann. Jetzt kann ich nur Abfragen generieren und ausführen - und habe kein sichtbares Ergebnis.

Irgendwelche Hilfe?

Dank

Edit: Als spezifischere: Wie kann ich meine dynamisch generierte Abfrage in einen Cursor oder reutn mit einer lokalen temporären Tabelle ausführen?

Antwort

1

So ähnlich?

create or replace procedure dynamic_cursor_demo 
    (p_some_expression in varchar2 
    , p_results out sys_refcursor) 
as 
begin 
    open p_results for 
     'select ' || p_some_expression || ' as demo from dual'; 
end dynamic_cursor_demo; 

(Wenn Sie Oracle 12c haben auch implicit statement results verwenden können. Beispiele in der Dokumentation.)

+0

, die aber nach verzweifelten Stunden gut aussieht habe ich beschlossen, anstatt Oracle die Business-Logik in die Anwendung zu bewegen. Wenn es nötig sein sollte, werde ich zurückkommen und es versuchen. Danke vielmals. – Doruk

Verwandte Themen