當前位置:首頁 » 存儲配置 » oracle存儲過程返回list

oracle存儲過程返回list

發布時間: 2022-08-17 15:08:09

Ⅰ oracle存儲過程返回參數是一個cursor,怎麼轉換為list

這里返回的是個結果集.rs.next返回的是一行數據.直接rs.getXXX方法獲取.最好先聲明一個對象來存放各個值,然後再賦給list.以便於使用.

Ⅱ JAVA獲取ORACLE存儲過程返回結果集的問題

你存儲過程中的 查詢集返回語句不是最後一條,如:select * into
v_list from xxxx 要放到過程的最後一句或試下加個return v_list

Ⅲ 關於oracle存儲過程返回結果集的問題

游標返回sql是不能添加變數在裡面的,要使用動態的sql,
就是 定義 一個 v_sql varhcar2(8000) 的變數。
通過 v_sql := 'select * from tt where to_char(rent.plan_date,''yyyy'')='||new_years
然後 open rent_cur for v_sql;

Ⅳ ORACLE 中 儲存過程我現在要傳一個參數 得到LIST集合 不要輸出參數吧

1.存儲過程中:需要定義輸出參數 out outlist;
2.Hibernate中接受,使用SQLQuery進行查詢,用它的對象調用list方法。

Ⅳ oracle如何執行存儲過程以及如何返回一個table

-- 定義類型
CREATE OR REPLACE TYPE MyTable AS OBJECT(A int, B int, C int);
/
CREATE OR REPLACE TYPE MyTableResult IS TABLE OF MyTable;
/
CREATE OR REPLACE FUNCTION getTestTable return MyTableResult
IS
-- 預期返回結果.
return_Result MyTableResult := MyTableResult();
BEGIN
-- 結果追加一行.
return_Result.EXTEND;
-- 設置結果內容.
return_Result(return_Result.COUNT) := MyTable(A => 1, B=>2, C=>3);
-- 結果追加一行.
return_Result.EXTEND;
-- 設置結果內容.
return_Result(return_Result.COUNT) := MyTable(A => 4, B=>5, C=>6);
-- 結果追加一行.
return_Result.EXTEND;
-- 設置結果內容.
return_Result(return_Result.COUNT) := MyTable(A => 7, B=>8, C=>9);
return return_Result;
END getTestTable;
/
SQL> SELECT
2 A, B, C
3 FROM
4 table( getTestTable() );
A B C
---------- ---------- ----------
1 2 3
4 5 6
7 8 9
SQL>

Ⅵ Oracle存儲過程怎麼返回結果

這個存儲過程你可以在TEST的環境下查看結果,不過你需要隱式游標來進行操作,那樣才能看到,具體步驟如下:
1、首先我們要藉助游標,因此需要先定義一個返回類型的游標
create or replace package type_difinition
as
type mycursor is ref cursor;
end type_difinition;
2、改寫你的存儲過程,要想查看執行SQL後結果需要一個返回參數,這個參數即上面定義的游標
類型
create or replace procere select_pro(
p_result out type_difinition.mycursor -- 返回結果
)
is
syn_sql varchar2(200) default '';
begin
syn_sql := 'select * from emp';
-- 此處打開游標,並把需執行的SQL賦值給游標
open p_result for syn_sql;
end select_pro;
3、執行編譯通過後,右鍵點擊存儲過程的名字,跳出框,選擇Test一項,進入Test界面
4、點擊編譯、再點擊執行
5、Test界面的底部界面,有個Variable Type value的列表,此時你可以點擊Value值裡面的
... 按鈕,即可查看結果,由於不怎麼會應用這個編輯器,本想把圖片上傳給你,如有不解,再詳問,希望回答對樓主有幫助

Ⅶ 幫忙寫個oracle 存儲過程,可以返回表的所有列的結果集

與SQL Server的存儲過程和函數均可以返回結果集不同的是,PL/SQL的存儲過程和函數均不直接提供返回數據集的方法,但可以通過返回類型對象來實現返回數據集的效果。具體思路為:
(1)創建包頭,在其中聲明類型和存儲過程,類型應該引用游標;
(2)創建包體,定義存儲過程,執行查詢,將查詢得到的結果集以游標句柄的形式返回。
說明:游標分為顯示游標和隱式游標,任何查詢結果默認都提供隱式游標,當前方案的重點在於使用游標取得查詢結果的句柄,由於游標被引用為類型,通過返回類型,即等效於(並不等同)返回數據集。

具體的案例如下:
--創建包頭
create or replace package mypackage1
as
--聲明類型,並引用游標
type cursorType is ref cursor;
--聲明存儲過程,兩個輸入參數,一個輸出參數,輸出遊標類型數據
procere prcGetGlobalAddress
(
cur in out mypackage1.cursorType --輸出參數,數據類型為引用游標的類型
);
end mypackage1;

--創建包體
create or replace package body mypackage1
as
--定義存儲過程
procere prcGetGlobalAddress
(
cur in out mypackage1.cursorType
)
as
begin
--返回得到分頁查詢結果集的游標句柄
open cur for
select * from mytable;
end prcGetGlobalAddress;

end mypackage1;

Ⅷ oracle存儲過程怎麼返回結果集

你這不是已經寫好了嘛。
外層調用程序只要聲明變數mycursor並且作為參數傳到emp_pro存儲過程中,執行結束後就可以使用了。

熱點內容
如何把資料庫備份到b伺服器 發布:2024-12-26 17:15:59 瀏覽:743
中央編譯出版社高校指定出版社 發布:2024-12-26 17:11:14 瀏覽:924
iphonexr和安卓哪個打游戲好 發布:2024-12-26 17:09:37 瀏覽:33
安卓朋友圈如何發純文字 發布:2024-12-26 17:09:27 瀏覽:76
診所配置哪些檢查設備 發布:2024-12-26 17:07:16 瀏覽:540
資料庫一對一關系 發布:2024-12-26 17:07:10 瀏覽:901
三星手機的數字密碼哪裡修改 發布:2024-12-26 17:04:04 瀏覽:459
怎麼修改支付寶指紋密碼 發布:2024-12-26 16:52:27 瀏覽:554
用平板學編程 發布:2024-12-26 16:42:50 瀏覽:554
壓縮空氣盾構 發布:2024-12-26 16:38:42 瀏覽:461