请教,动态执行存储过程?

pbj 2002-12-29 10:29:22
我有多个存储过程,输入、输出参数都相同,就是名字不同。
我想将这些存储过程名字存入表中,然后在前台动态的调用,不知怎么写

string t_date='200212'
integer li_rtn
long i

for i=1 to rowcout(dw_1)
declare sp_out procedure for '存储过程名' @t_date= :t_date,@i=:li_rtn output;

//执行存储过程
execute sp_out;
fetch sp_out into :li_rtn;
if sqlca.sqlcode=0 then
messagebox("提示窗口","ok")
else
messagebox("提示窗口","failure")
end if
close sp_out;
end for
...全文
16 3 打赏 收藏 举报
写回复
3 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pbj 2002-12-31
我希望的是能用变量代替存储过程名如:
string usp
usp="存储过程名"
declare sp_out procedure for usp @t_date= :t_date,@i=:li_rtn output;
而不是在pb端重新定义存储过程语句,再动态执行。
请各位帮帮忙!
  • 打赏
  • 举报
回复
shuyf2000 2002-12-31
用动态SQL语句。语法一般PB书上都有的。
  • 打赏
  • 举报
回复
dotnba 2002-12-29
Example 3 These statements perform the same processing as the preceding example but use a database stored procedure called Emp_select:

// The syntax of emp_select is:

// "SELECT emp_id

// FROM employee WHERE emp_state=@stateparm".

DECLARE my_proc DYNAMIC PROCEDURE FOR SQLSA ;

integer Emp_id_var

string Emp_state_var

PREPARE SQLSA FROM "emp_select @stateparm=?" ;

Emp_state_var = "MA"

EXECUTE DYNAMIC my_proc USING :Emp_state_var ;

FETCH my_proc INTO :Emp_id_var ;

CLOSE my_proc ;
  • 打赏
  • 举报
回复
相关推荐
发帖
PowerBuilder

999

社区成员

PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
加入社区
帖子事件
创建了帖子
2002-12-29 10:29
社区公告
暂无公告