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

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
...全文
29 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
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 ;

1,075

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧