`
wangzg
  • 浏览: 61847 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

在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;  
 

其中p_rc即为返回的结果集,这里使用了ref cursor。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics