是否可以为链接服务器构建动态查询(如果是这样的话)?
例如:
@linkedServer varchar(50)
@var1 varchar(10)
@var2 varchar(10)
select *
from openquery(@linkedServer,
'select c1,c2
from t1
where p1 = @var1
and p2= @var2')
答案 0 :(得分:4)
例如
exec ('select * from openquery(' + @linkedServer +
', ''select c1,c2 from t1 where p1 = '' + @var1 + ''and p2= '' + @var2 + ''')
请务必阅读The Curse and Blessings of Dynamic SQL以防止SQL注入
答案 1 :(得分:2)
来自那篇文章:
SQL 2005中添加的一项特殊功能是 您可以使用EXEC()来运行 对链接的传递查询 服务器。这可能是另一个例子 SQL Server,但它也可能是一个 Oracle服务器,一个Access数据库, 活动目录或其他。 SQL 可以是单个查询或序列 陈述,可能是 动态组成或完全组成 静态的。如图所示,语法很简单 通过这个例子:
EXEC('SELECT COUNT(*)FROM'+ @db + '.dbo.sysobjects')AT SQL2K
SQL2K在这里是一个链接服务器 已使用sp_addlinkedserver定义。