麻烦,OPENROWSET传递参数的问题。

winsock2000 winsock2000 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
从另外一台数据库服务器执行存储过程,并把结果集插入到本地服务器上面的临时表,然后在跟本地服务器上的数据比较,所以涉及到用openrowset传递参数的问题,可openrowset传递好像只能用动态的写法,执行成功后,临时表消亡了,我都无法在继续做下面的比较了,如果我用全局临时表,倒是可以解决这个问题的,但不想用。随便举个例:
declare @sql varchar(1000)
declare @flag_Year varchar(4)
declare @flag_Month varchar(2)
declare @flag_rq datetime
set @flag_year='2007'
set @flag_month='12'
set @flag_rq='2007-11-30'
set @sql='
select * into #lrb
from openrowset(''sqloledb'',''127.0.0.1'';''sa'';'''',
''set fmtonly off;exec sqlserver.dbo.sz_a1 '''''+@flag_Year+''''','''''+@flag_Month+''''',
'''''+CONVERT(Varchar(10),@flag_rq,20)+''''' '')'
exec(@sql) ---执

select * from #lrb ---这里就提示没有找到对象了。
各位有没有碰到这个问题,要如何解决?请指点一二,谢谢了。
declare @flag_Year varchar(4)
declare @flag_Month varchar(2)
declare @flag_rq datetime
set @flag_year='2007'
set @flag_month='12'
set @flag_rq='2007-11-30'
select * into #lrb
from openrowset('sqloledb','127.0.0.1';'sa';'',
'set fmtonly off;exec sqlserver.dbo.st_k3sccblrb '''+@flag_ErpYear+''','''+@flag_Month+''',
'''+CONVERT(Varchar(10),@flag_rq,20)+''' ') --要是能这样执行,那我的问题也解决了,可找了一下,好像不支持这样的写法。

...全文

相关推荐

评论 8
收藏 已收藏
分享
返回顶部
winsock2000
MS-SQL Server 34,876 成员 254,635 内容