當前位置:首頁 » 存儲配置 » 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存儲過程中,執行結束後就可以使用了。

熱點內容
存儲伺服器分類 發布:2025-05-14 08:39:01 瀏覽:644
xz文件解壓軟體 發布:2025-05-14 08:28:43 瀏覽:969
lua腳本學習 發布:2025-05-14 08:20:55 瀏覽:713
python文件刪除一行 發布:2025-05-14 08:06:58 瀏覽:721
如何下載奧特曼高級化3安卓版 發布:2025-05-14 07:47:31 瀏覽:346
qml文件修改後編譯未生效 發布:2025-05-14 07:31:00 瀏覽:331
內到內演算法 發布:2025-05-14 07:29:11 瀏覽:34
文件夾名字不顯示 發布:2025-05-14 07:27:47 瀏覽:775
oracle的資料庫驅動jar 發布:2025-05-14 07:23:20 瀏覽:556
我的世界電腦版伺服器手機版能進嗎 發布:2025-05-14 07:22:01 瀏覽:680