2016-07-12 56 views
-1

我對pl-sql的技術非常有限,而且我有一個非常複雜的情況。通過oracle程序檢索結果集

在mssql中,我有一個過程根據提供的參數從不同的源表中返回具有不同數量列的結果集。

在oracle中,我很難創建一個相同的進程。

我需要在裏面生成查詢,執行它並返回結果。

我搜索了很多,並嘗試了很多東西。現在,我現在最好的辦法是執行查詢到一個遊標,我無法做到。現在我所能做的就是生成查詢並執行它 - 並且沒有可見的結果。

任何幫助?

感謝

編輯:作爲更具體:我怎麼能執行我的動態生成的查詢到光標或reutn與當地的臨時表?

回答

1

這樣的事情?

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; 

(如果你有甲骨文12C也可以使用implicit statement results。在文檔的例子。)

+0

,看起來不錯,但絕望小時後,我決定把業務邏輯轉移到應用程序,而不是甲骨文。如果需要我會回來試試這個。非常感謝。 – Doruk