PB 问题
我问个问题怎么在PB中引用存储过程呢(存储过程在SQL SERVER中定义的)
问题点数:0、回复次数:4Top
1 楼life583(life583)回复于 2004-05-04 16:34:02 得分 0
新建一个DW,在数据源中选择STORED PROCEDURE,选择你提交的存储过程,就可以了。当DW读去数据时就会引用你提交的存储过程。Top
2 楼cxwsoftware(方宇)回复于 2004-05-04 17:02:59 得分 0
给你一个例子你试试看
1, sql server中:
if exists(select name from sysobjects where name='test_getdate1' and type='P')
drop procedure test_getdate1
go
create procedure test_getdate1
(
@parm1 varchar(24) output,
@parm2 varchar(24)output,
@rtn_id int output,
@rtn_msg varchar(255) output
)
as
select
@rtn_id = yhid ,@parm1 = yhmc,@parm2 = yhkl,@rtn_msg = convert(varchar, getdate(), 111) from yhkl where yhid=@rtn_id
return
go
2, power script:
integer li_rtn_id=1
string ls_rtn_msg, ls_sqlerrtext, ls_parm1, ls_parm2
declare p_test_getdate procedure for test_getdate1
@parm1 = :ls_parm1 output,
@parm2 = :ls_parm2 output,
@rtn_id = :li_rtn_id output,
@rtn_msg = :ls_rtn_msg output;
execute p_test_getdate;
if sqlca.sqlcode <> 0 then
ls_sqlerrtext = sqlca.sqlerrtext
rollback;
MessageBox("注意", "存储过程test_getdate执行错误!~r错误提示: " + ls_sqlerrtext)
return -1
end if
fetch p_test_getdate into :ls_parm1,:ls_parm2,:li_rtn_id, :ls_rtn_msg;
close p_test_getdate;
if sqlca.sqlcode <> 0 then
ls_sqlerrtext = sqlca.sqlerrtext
rollback;
MessageBox("注意", "存储过程test_getdate执行错误!~r错误提示: " + ls_sqlerrtext)
return -1
end if
commit;
messagebox('提示', '存储过程test_getdate执行完毕.~r返回信息: ' +ls_parm1+ls_parm2+ ls_rtn_msg+string(li_rtn_id))
return 1Top
3 楼10975037(猩猩)回复于 2004-05-04 17:15:42 得分 0
sqlca.autocommit =true
declare qianqi procedure for procedurename
execute qianqi
close qianqi
sqlca.autocommit =falseTop
4 楼jackzhang168(我是谁)回复于 2004-05-04 20:11:58 得分 0
declare qianqi procedure for procedurename
execute qianqi
close qianqi
Top




