国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > Oracle > 正文

Oracle 存儲過程返回結(jié)果集

2024-08-29 13:46:13
字體:
供稿:網(wǎng)友
Oracle 存儲過程返回結(jié)果集*過程返回記錄集:
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;
/
 
函數(shù)返回記錄集:
建立帶ref cursor定義的包和包體及函數(shù):
CREATE OR REPLACE
package pkg_test as
/* 定義ref cursor類型
    不加return類型,為弱類型,答應(yīng)動態(tài)sql查詢,
    否則為強類型,無法使用動態(tài)sql查詢;
*/
   type myrctype is ref cursor; 
  
--函數(shù)申明
   function get(intID number) return myrctype;
end pkg_test;
/
  
CREATE OR REPLACE
package body pkg_test as
--函數(shù)體
    function get(intID number) return myrctype is
      rc myrctype;  --定義ref cursor變量
      sqlstr varchar2(500);
    begin
      if intID=0 then
         --靜態(tài)測試,直接用select語句直接返回結(jié)果
         open rc for select id,name,sex,address,postcode,birthday from
student;
      else
         --動態(tài)sql賦值,用:w_id來申明該變量從外部獲得
         sqlstr := 'select id,name,sex,address,postcode,birthday from
student where id=:w_id';
 
        --動態(tài)測試,用sqlstr字符串返回結(jié)果,用using要害詞傳遞參數(shù)
         open rc for sqlstr using intid;
      end if;
  
      return rc;
    end get;
  
end pkg_test;

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 泾川县| 六枝特区| 江北区| 南皮县| 桂平市| 乐昌市| 桓仁| 彩票| 清原| 外汇| 高台县| 阳山县| 司法| 韩城市| 新龙县| 炎陵县| 榆社县| 望谟县| 东海县| 白银市| 东乡县| 米脂县| 临夏县| 渭源县| 无极县| 杨浦区| 绍兴县| 汤阴县| 东方市| 诸城市| 明光市| 宁国市| 嘉峪关市| 华容县| 佛教| 广平县| 诏安县| 鄂伦春自治旗| 彭州市| 罗甸县| 顺昌县|