20跪求,急求openquery问题!-------------------------在线等待!!

turenjie 2005-07-13 11:04:23
问题很奇怪!
declare @get_sql varchar(200)
set @get_sql='select * from b_clerk'
print @get_sql
--下面这句运行查询成功
select * from openquery(get_sum_procedure,'select * from b_clerk')
--可这句运行失败!而print @get_sql 也可打印 select * from b_clerk 这样的字符串!
select * from openquery(get_sum_procedure,@get_sql)
-- 提问:我现在想在分布式查询中用变量取代常量该怎么做???
...全文
274 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
turenjie 2005-07-13
  • 打赏
  • 举报
回复
问题继续深入:
declare @get_one_day_qty varchar
set @procedure_sql=
'select @get_one_day_qty=sum_complete_qty from openquery(get_sum_procedure, sumqty_factory_matedate ''裁剪'',''源通帽厂'','''+@get_temp_date_for_varchar+''')'

exec(@procedure_sql)
我想把查询出来的值赋予@get_one_day_qty
报错:
必须声明变量 '@get_one_day_qty'。
print @procedure_sql
结果:select @get_one_day_qty=sum_complete_qty from openquery(get_sum_procedure, sumqty_factory_matedate '裁剪','源通帽厂','2005-06-01'),打印成功!
提问:我想得到@get_one_day_qty值????
denniswwh 2005-07-13
  • 打赏
  • 举报
回复
OPENQUERY 不接受参数变量,你可以使用动态语句,
declare @get_sql varchar(200)
set @get_sql='select * from openquery(get_sum_porcedure,''select * from b_clerk'')'
print @get_sql
exec(@get_sql)
turenjie 2005-07-13
  • 打赏
  • 举报
回复
有人在吗?
select * from openquery(get_sum_procedure,@get_sql)
这句运行失败!
错误提示:
服务器: 消息 170,级别 15,状态 1,行 5
第 5 行: '@get_sql' 附近有语法错误。

27,580

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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