【发布时间】:2020-03-15 00:53:21
【问题描述】:
当我使用下面的脚本时,一切正常:
create table MyTable (MyField varchar(5))
insert into Mytable values ('XXX')
declare @MyVar varchar(5)
select @MyVar = MyField
from dbo.MyTable
print @MyVar
但我想做的是这样的:
create table MyTable (MyField varchar(5))
insert into Mytable values ('XXX')
declare @MyVar varchar(5)
declare @DataBase varchar(10) = 'DBMyBase'
select @MyVar = MyField
from @DataBase.dbo.MyTable
print @MyVar
我试过没有成功:
create table MyTable (MyField varchar(5))
insert into Mytable values ('XXX')
declare @MyVar varchar(5)
declare @DataBase varchar(10) = 'DBMyBase'
declare @cmd varchar(max)
set @cmd = 'select @MyVar = MyField from ' + @DataBase + '.dbo.MyTable'
exec(@cmd)
print @MyVar
我也尝试将整个脚本放在@cmd 中,但无法在脚本部分之外捕获@MyVar 值...
对不起,我不知道如何用英文解释,但如果你能理解我,谢谢你的帮助!
【问题讨论】:
-
谢谢大家的帮助,我不知道 sp_executesql...
标签: sql-server tsql