这个动态SQL怎么写?

阿鹏兄 2002-12-30 02:46:55
若变量是表名,能用动态sql写吗?
PREPARE sqlsa FROM "update ? set partid = ? where partid = ? " USING sqlca ;
EXECUTE sqlsa using :ls_table,:ls_newpartid,:ls_oldpartid;

上面的写法运行出错呀。。。。
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
阿鹏兄 2002-12-30
  • 打赏
  • 举报
回复
搞定,我得错,我一直写成execute immediate ls_sql using sqlca;

正确代码如下:
string ls_sql
ls_sql = "update " +ls_table+" set partid = '"+ls_newpartid+"' where partid = '"+ls_oldpartid+"' "

EXECUTE IMMEDIATE :ls_sql USING SQLCA;

entofu(entofu)您的写法不正确,:)

阿鹏兄 2002-12-30
  • 打赏
  • 举报
回复
entofu(entofu)朋友:还是有错呀,总是提示:
execute immediate :ls_sql using sqlca;这行代码有错误syntax error

救我呀。。。。

entofu 2002-12-30
  • 打赏
  • 举报
回复
ls_sql ="exec("+"update " +ls_table+" set partid = '"+ls_newpartid+"' and where partid = '"+ls_oldpartid+"' "
+")"

execute immediate :ls_sql using sqlca;
阿鹏兄 2002-12-30
  • 打赏
  • 举报
回复
pbsql(风云) 您写的不对吧?
我是这样写的:(也不行)
string ls_sql
ls_sql = "update " +ls_table+" set partid = '"+ls_newpartid+"' and where partid = '"+ls_oldpartid+"' "

EXECUTE IMMEDIATE ls_sql USING SQLCA;

为什么也不行呀?
pbsql 2002-12-30
  • 打赏
  • 举报
回复
这样不行吗:
PREPARE sqlsa FROM "update "+ls_table+" set partid = "+ls_newpartid+" where partid = "+ls_oldpartid+" " USING sqlca ;

754

社区成员

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

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