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把餡料倒入拌盆中,裡面先放入胡椒粉 鹽和雞精,放入黃酒和香油攪拌均勻備用。...