动态sql

DOS6 2003-05-05 11:07:03
我的update 语句中修改的字段是动态生成的,且保存在变量中
如string str str='职务'(因为str是动态得到的所以要动态生成sql)
如何得到这样的效果
update table
set :str=:str1
where :str=:str2
就是其中的字段是动态得到的
...全文
52 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xirumin 2003-05-05
  • 打赏
  • 举报
回复
ls_str = "update t_max set " + as_str + '=' +string(l_code)
execute immediate :ls_str using sqlca;
if sqlca.sqlcode <>0 then
messagebox("严重错误","[max]表ID号更新出错!")
rollback;
halt;
return -1
end if
commit;

///以上是更新t_max表的一个字段, 字段名为as_str, 是动态的。
xirumin 2003-05-05
  • 打赏
  • 举报
回复
你那样写是普通的静态的SQL语句,当然不行了。
一共有四种方式的动态SQL语句。现举一种:
Flying_Hawk 2003-05-05
  • 打赏
  • 举报
回复
string Mysql

Mysql="INSERT INTO dept Values (1234, 'Purchasing')"

EXECUTE IMMEDIATE :Mysql USING My_trans ;

可以参看帮助“Dynamic SQL Format 1 SQL statement”

DOS6 2003-05-05
  • 打赏
  • 举报
回复
ls_str = "update t_max set " + as_str + "='" +string(l_code)+"'"
execute immediate :ls_str using sqlca;
谢谢xirumin(吃好喝好)

611

社区成员

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

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