100分赠送

zgb888 2003-08-18 03:32:11
我想写个传递表列名为变量的sql函数,应怎么写
我实在想不出好的办法,请大虾指点
...全文
66 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jdsnhan 2003-08-18
  • 打赏
  • 举报
回复
补充说明 ls_where = "c6666 = '" + blsbz + "'"
jdsnhan 2003-08-18
  • 打赏
  • 举报
回复
ls_mysql = " select " + cell1 + " from "&
+ ls_tabel + " where " + ls_where

DECLARE lc_cur DYNAMIC CURSOR FOR SQLSA;
PREPARE SQLSA FROM :ls_mysql;
DESCRIBE SQLSA INTO SQLDA;
OPEN DYNAMIC lc_cur USING DESCRIPTOR SQLDA;
FETCH lc_cur into :celll;// USING DESCRIPTOR SQLDA;
messagebox('',celll)
CLOSE lc_cur;
看看是不是你要的结果
freeliu 2003-08-18
  • 打赏
  • 举报
回复
带输入输出参数的sql语句应该用动态sql的第三种语法,可以查pb的帮助,关键字是dynamic。
klbt 2003-08-18
  • 打赏
  • 举报
回复
动态SQL语句
string mysql1

mysql1="select "+cell1+" into :Tcell1 " &
+" from " + tablename &
+" where c6666=:blsbz"
execute immediate :mysql1 using sqlca;
arich 2003-08-18
  • 打赏
  • 举报
回复
定义存储过程

select name from syscolumns where id = objectid("<表名>")
zgb888 2003-08-18
  • 打赏
  • 举报
回复
和我用的方法一样,就是执行结果不对,请楼上的给检查一下
string mysql1
mysql1="select "+cell1+" into :Tcell1 " &
+" from table_102_ls " &
+" where c6666=:blsbz"
execute immediate :mysql1 using sqlca;
eastpond 2003-08-18
  • 打赏
  • 举报
回复
up
chrisfy 2003-08-18
  • 打赏
  • 举报
回复
不明白楼主的真正用意
zfisher 2003-08-18
  • 打赏
  • 举报
回复
同意啊!
runsoft 2003-08-18
  • 打赏
  • 举报
回复
动态SQL了呀
string ls_sql = "select " + ls_column01 + " from table "

1,075

社区成员

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

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