編寫Oracle包 過程或者函式,返回結果集,並且編寫另過程或函式接收這個結果集並且輸出誰能提供思

2021-05-05 19:11:07 字數 1378 閱讀 4249

1樓:匿名使用者

-- 測試表資料。

select * from test_main;

id value

---------- --------------------

1 one

3 three

2 two

-- 返回結果集的函式.

create or replace function get_test_main_all

return sys_refcursor

isreturn_cursor sys_refcursor;

begin

open return_cursor for 'select * from test_main';

return return_cursor;

end;

/-- 普通的查詢,來檢視結果.

select get_test_main_all() from dual;

get_test_main_all()

--------------------

cursor statement : 1

cursor statement : 1

id value

---------- --------------------

1 one

3 three

2 two

-- 儲存過程呼叫, 來獲取結果.

declare

-- 呼叫函式的返回值.

testcursor sys_refcursor;

-- 儲存單行資料.

testrec  test_main%rowtype;

begin

-- 呼叫返回結果集的函式.

testcursor := get_test_main_all();

-- 迴圈,遍歷結果.

loop

-- 遊標向前.

fetch testcursor into testrec;

-- 無資料的情況下,退出迴圈.

exit when testcursor%notfound;

-- 輸出除錯資訊.

dbms_output.put_line( to_char(testrec.id) || ' ' || testrec.value);

end loop;

end;

/1 one

3 three

2 two

pl/sql 過程已成功完成。

2樓:匿名使用者

如果要返回多個值,可考慮用儲存過程實現

3樓:

先編寫一個函式返回結果集,再另外編寫一個過程呼叫此函式並返回就好了。

用oracle編寫程式包,包中含有過程和函式

create or replace package pk2 is procedure jobs empid scott.emp.job type,numbs out number function depts deptid scott.emp.deptno type return number en...

Oracle 的儲存過程怎麼寫。?

create produce sql語句。就這麼簡單,或者你可以用視覺化工具,如plsql,找到左邊樹的 儲存過程 右鍵點選建立即可。oracle儲存過程怎麼寫迴圈 寫迴圈的操作方法和步驟如下 1 第一步,編寫儲存過程的整體結構,然後定義變數,見下圖。2 其次,完成上述步驟後,在定義變數後定義遊標,...

包餃子的過程,包餃子的過程100字

餃子的做法步襲驟1 麵糰 bai高筋麵粉 鹽du 清水。餡料 大蝦餡 海蔘粒zhi 豬肉餡dao 荸薺碎 鹽 雞精 白胡椒粉 黃酒 香油 蔥末 薑末。2麵粉裡放1克鹽,用溫水合成麵糰,麵糰要軟一些有筋力才好,然後餳30分鐘。3把餡料倒入拌盆中,裡面先放入胡椒粉 鹽和雞精,放入黃酒和香油攪拌均勻備用。...