关于pb+oracl绑定量问题,马上给解决方式,马上结贴,在线等待....

firefox9999 2009-09-07 12:17:52
如题:
oracle里的SQL有绑定变量,在存储过程中挺好用的.
在pb中SQL的绑定量变怎么用?
请举例说明,谢谢!!!
...全文
75 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
WorldMobile 2009-09-07
  • 打赏
  • 举报
回复
INT Dept_id_var = 156

String Dept_name_var

SetNull(Dept_name_var)

PREPARE SQLSA

FROM "INSERT INTO dept VALUES (?,?)" ;

EXECUTE SQLSA USING :Dept_id_var,:Dept_name_var ;
WorldMobile 2009-09-07
  • 打赏
  • 举报
回复
好像没有这个东东,你可以用动态SQL来实现
firefox9999 2009-09-07
  • 打赏
  • 举报
回复
等待高手回复
firefox9999 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 gzone521 的回复:]
PB 写出的代码 就已经绑定了变量了,不需要再次绑定 .如INSERT INTO 表 values(:a,:b) using sqlca; 这个已经就是绑定变量了,很方便,除第一次执行外,其他时候执行效率贼高,很佩服PB这点

[/Quote]

string a1,a2

a1 = '082202'
a2 = '093303'

DECLARE A_PRO1 PROCEDURE FOR A_PRO
( A => :a1,
B => :a2 );

EXECUTE A_PRO1 ;

ORACLE 解析完后

BEGING
A_PRO( A => '082202',B => '093303' );
END ;

每次调用过程还得解析


色域至尊 2009-09-07
  • 打赏
  • 举报
回复
PB 写出的代码 就已经绑定了变量了,不需要再次绑定 .如INSERT INTO 表 values(:a,:b) using sqlca; 这个已经就是绑定变量了,很方便,除第一次执行外,其他时候执行效率贼高,很佩服PB这点
firefox9999 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 qyaohai 的回复:]
execute immediate
[/Quote]

这个好像不可以引用参数吧,例如: USING :Dept_id_var,:Dept_name_var ;
wsz0812 2009-09-07
  • 打赏
  • 举报
回复
up
qyaohai 2009-09-07
  • 打赏
  • 举报
回复
execute immediate
firefox9999 2009-09-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 lzp_lrp 的回复:]
INT  Dept_id_var = 156

String  Dept_name_var

SetNull(Dept_name_var)

PREPARE SQLSA

        FROM "INSERT INTO dept VALUES (?,?)" ;

EXECUTE SQLSA USING :Dept_id_var,:Dept_name_var ;
[/Quote]
这样也不行,因为这种传参的方式到ORACLE中也是常量方式
上面语句将过ORACLE解析后就下面的语句
INSERT INTO dept VALUES ('156','')

如果Dept_id_var值改后执行,ORACL还的硬解析!

继续顶,等待高手复!

752

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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