关于存储过程的返回包操作

  创建一个查询的存储过程,由于查询结果需要接收!所以必须创建一个包来承载结果!

 CREATE OR REPLACE PROCEDURE proc_demo(
 out_result   IN   OUT   rm_test.my_result_set)
    AS
    BEGIN
    OPEN    out_result
    FOR  
        SELECT  id  FROM rm.mst_matecode;
    END    proc_demo;

 

  里面的包就是rm_test_myresult_set

 

CREATE OR REPLACE PACKAGE rm_test IS
type r_id is record(
v_id varchar2(32)
);
type my_result_set is ref cursor return r_id;
END rm_test;
PB执行该存储过程,或者用这个存储过程创建一个datawindow

//

transaction trans
trans = create transaction
trans.DBMS = "O90 Oracle9i (9.0.1)"
trans.LogPass = "zhhh"
trans.ServerName = "canppe2"
trans.LogId = "system"
trans.AutoCommit = False
trans.DBParm = ""

connect using trans;

If  trans.sqlcode <> 0 Then api.alert( "数据库没有正确连接,请检查!" )

DataStore lds_data

lds_data = create Datastore

lds_data.dataobject = "dw_1"

lds_data.settransobject( trans )

lds_data.retrieve()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值