现在的位置: 首页 > 综合 > 正文

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

2013年03月02日 ⁄ 综合 ⁄ 共 749字 ⁄ 字号 评论关闭

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

 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()

抱歉!评论已关闭.