當前位置:首頁 » 存儲配置 » oracle存儲過程return

oracle存儲過程return

發布時間: 2022-07-17 05:25:51

⑴ oracle 怎麼接受存儲過程返回值

所謂返回值,就是執行proc後,返回的變數,在程序設計中,設置個變數,直接接受proc的返回值即可

⑵ Oracle存儲過程中的return函數使用問題

procere 是存儲過程不能用return返回參數 在procere 要返回參數可以用 out (輸出)參數 或者把procere 改為function

⑶ 請教個ORACLE存儲過程RETURN問題,,,在線等,,,著急

procere
是存儲過程不能用return返回參數
在procere
要返回參數可以用
out
(輸出)參數
或者把procere
改為function這也是看別人的觀點,我也遇到同樣的問題

⑷ oracle的存儲過程里return是起什麼作用的

函數一般都是對數據的簡單處理,可以方便復用。
舉個簡單例子,
比如要對一個數字N做比較復雜的運算,而且需要多次使用,那麼建立函數get_N(number);
在每次需要這個結果的時候都可以調用函數來處理
比如 select get_N(n) from al;
而不需要每次都把整個計算過程都做一次。

存儲過程主要是處理一些復雜的業務,比如一個生成訂單的過程,我需要記錄訂單表,日誌表,更新客戶信息表,更新客戶積分等等的操作。
那可以把這些操作都放在一個存儲過程中實現。
每次生成訂單,只需要通過程序調用一下存儲過程就可以了。而不需要通過程序去多次鏈接資料庫,每次執行對一個表的操作。

⑸ oracle存儲過程中調用帶返回參數的存儲過程

1、return返回值類型:
declare v_return_value number;
v_return_value := spname();
dbms_output.putline(v_return_value);
2、out返回
declare v_return_value number;
spname(:v_return_value);
dbms_output.putline(v_return_value);

⑹ oracle存儲過程

分如下情況:
1。如果return 在commit之後,已經提交無所謂回滾。
2。如果return在commit之前,所有都回滾
3。如果希望中間有一部分回滾是不可能的,可以把中間的一部分提取出來成為一個單獨的存儲過程或者函數,把它設置為獨立事務控制,這樣執行這個存儲過程就會提交,其他的程序塊,可以通過rollback控制回滾。
獨立事務控制語法:
CREATE OR REPLACE PROCEDURE
IS
PRAGMA AUTONOMOUS_TRANSACTION;

⑺ oracle存儲過程如何返回記錄集

存儲過程:
CREATE OR REPLACE PACKAGE pkg_test
AS
TYPE myrctype IS REF CURSOR;

PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);
END pkg_test;
/

CREATE OR REPLACE PACKAGE BODY pkg_test
AS
PROCEDURE get (p_id NUMBER, p_rc OUT myrctype)
IS
sqlstr VARCHAR2 (500);
BEGIN
IF p_id = 0 THEN
OPEN p_rc FOR
SELECT ID, NAME, sex, address, postcode, birthday
FROM student;
ELSE
sqlstr :=
'select id,name,sex,address,postcode,birthday
from student where id=:w_id';
OPEN p_rc FOR sqlstr USING p_id;
END IF;
END get;
END pkg_test;
/
存儲函數:
CREATE OR REPLACE
package pkg_test as
type myrctype is ref cursor;

function get(intID number) return myrctype;
end pkg_test;
/

CREATE OR REPLACE
package body pkg_test as
function get(intID number) return myrctype is
rc myrctype; --定義ref cursor變數
sqlstr varchar2(500);
begin
if intID=0 then
--靜態測試,直接用select語句直接返回結果
open rc for select id,name,sex,address,postcode,birthday from student;
else
--動態sql賦值,用:w_id來申明該變數從外部獲得
sqlstr := 'select id,name,sex,address,postcode,birthday from student where id=:w_id';
--動態測試,用sqlstr字元串返回結果,用using關鍵詞傳遞參數
open rc for sqlstr using intid;
end if;

return rc;
end get;

end pkg_test;
/

⑻ oracle存儲過程中的if then return end if中,如果執行到return,是跳出if循環,還是停止存儲過程

使用return是直接跳出存儲過程。

⑼ oracle存儲過程 能用return嗎

return語句只能用於函數。對於存儲過程,不能使用return。
如果存儲過程確實需要輸出,則使用輸出參數。關鍵字是out。

熱點內容
編譯期錯誤提示 發布:2024-10-07 20:07:23 瀏覽:296
阿里雲伺服器打開慢 發布:2024-10-07 20:06:33 瀏覽:577
磁存儲行業的前景 發布:2024-10-07 20:01:29 瀏覽:548
android對象序列化 發布:2024-10-07 20:01:28 瀏覽:760
安卓上面的微信如何恢復 發布:2024-10-07 19:57:45 瀏覽:52
510低配包括哪些配置 發布:2024-10-07 19:38:21 瀏覽:556
ping伺服器地址一直丟包 發布:2024-10-07 19:37:34 瀏覽:588
怎麼去除手機鎖屏密碼 發布:2024-10-07 18:56:05 瀏覽:67
怎樣注冊手機貼吧賬號密碼是什麼 發布:2024-10-07 18:55:17 瀏覽:365
埠安全配置屬於什麼 發布:2024-10-07 18:41:01 瀏覽:794