请教大神门,头疼一天了,请教如何查询动态表??

dusttosky 2019-10-10 10:17:53
declare @f_bm varchar(9)
declare @ny varchar(200)

set @ny='201910'

select * into #c from(select *from
opendatasource('sqloledb','data source=192.168.252.28;User ID=sa;Password=123456').hr.[000].tb201909_Goods
where goodscode=@f_bm group by goodscode)c



请问如何把表名201909用变量@ny 取代实现? 如果可以,麻烦指点指点,语法我不知道怎么拼接.

效果是打开远程的数据库,查询其中一个表的数据写入临时表#c. 表名中的部分是按年月生成的不动的表, 所以查询每个月的表名都不一样.
...全文
94 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
吉普赛的歌 2019-10-10
  • 打赏
  • 举报
回复
dusttosky 2019-10-10
  • 打赏
  • 举报
回复
引用 1 楼 二月十六 的回复:
需要用拼接字符串的形式
exec('select .....'+@ny+'....')


select * into #c from(select *from
opendatasource('sqloledb','data source=192.168.252.28;User ID=sa;Password=123456').hr.[000].tb201909_Goods
where goodscode=@f_bm group by goodscode)c

拼接后这里的单引号一直提示语法错误. 能不能帮我改个完整的 哥 ~~~
Hello World, 2019-10-10
  • 打赏
  • 举报
回复
拼好字符串后用Exec sp_executesql来执行
二月十六 2019-10-10
  • 打赏
  • 举报
回复
需要用拼接字符串的形式 exec('select .....'+@ny+'....')
二月十六 2019-10-10
  • 打赏
  • 举报
回复
DECLARE @sql varchar(5000)
declare @ny   varchar(200)

set @ny='201905'

set @sql='select * into #c from(select *
from opendatasource(
               '''+'sqloledb'+''','''+
               'data source=192.168.252.28;User ID=sa;Password=123456''
).zberp5.[000].'+@ny+'_Goods  group by goodscode)c'

EXEC(@sql)
dusttosky 2019-10-10
  • 打赏
  • 举报
回复
eclare @sql varchar(5000)
declare @ny varchar(200)

set @ny='201905'

set @sql='select * into #c from(select *
from opendatasource(
'+'sqloledb'+','+
'data source=192.168.252.28;User ID=sa;Password=123456''+
).zberp5.[000].'+@ny+'_Goods group by goodscode)c'

exec(@sql)




消息 102,级别 15,状态 1,第 6 行
'sqloledb' 附近有语法错误。
消息 105,级别 15,状态 1,第 6 行
字符串 '+
).zberp5.[000].201905_GoodsMonPSSM group by goodscode)c' 后的引号不完整。
dusttosky 2019-10-10
  • 打赏
  • 举报
回复
declare @sql varchar(5000)
declare @ny varchar(200)

set @ny='201905'

set @sql='select * into #c from(select * from
opendatasource('+'sqloledb'+','+'data source=192.168.252.28;User ID=sa;Password=84811100''+).zberp5.[000].'+'@ny'+'_Goods
where goodscode='+'1320094'+' group by goodscode)c'

exec(@sql)



消息 102,级别 15,状态 1,第 5 行
'sqloledb' 附近有语法错误。
消息 105,级别 15,状态 1,第 5 行
字符串 '+).zberp5.[000].@ny_GoodsMonPSSM
where goodscode=1320094 group by goodscode)c' 后的引号不完整。



求人指点一下,谢谢啊
星月金锁是一款安全的密码管理器。 它界面简洁美观,操作简单易懂;小巧,不足1M;支持几乎涵盖所有的Android系统;安全,使用高级别的安全隐私技术加密。 您在每个网站都使用相同的密码吗?如果是,万一某个网站密码泄密,是不是所有的密码都得改一遍?如果不是,你是否又经常容易记错或混淆呢? 如果有这样的烦恼,试试星月金锁吧,相信它会给你带来意外的惊喜! 密码管理器 星月金锁是一款方便、安全的密码管理器。使用加密的数据库,用以存储您的网站帐号、电子邮箱、信用卡卡号、银行账号和其它私人信息。 界面简洁美观、操作简单易懂 界面美观,符合用户习惯,简单易用。 小巧,不足1M 大多数应用的大小都达到几M,甚至几十M,而星月金锁的大小不足1M。 支持范围广 支持2.2及以上版本,几乎覆盖了所有的Android系统。 安全 使用了高级别的安全加密技术(AES),全方位保护您的数据。 对安全敏感的用户往往很在意应用访问手机的权限。星月金锁并无需访问手机的任何权限,除了备份数据需要读写SD卡,它不会联网,也不会访问手机上的任何隐私数据。 视频演示:http://www.tudou.com/programs/view/_JFqVlmCEDM 官网: http://g.zijinshi.org 更新内容: 支持导入和导出CSV格式文件。 轻松导入由Excel或其他应用创建的密码记录,反之,星月金锁创建的密码信息也可以被其他应用共享。

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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