您的位置:首页 > 其它

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

2009-12-29 09:08 295 查看
创建一个查询的存储过程,由于查询结果需要接收!所以必须创建一个包来承载结果!

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()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: