我已经在我的SQL Server 2008中添加了一个链接服务器。我想从链接服务器上的一个表和一个表值函数中获取数据,并按照以下命名约定将这些数据与本地表联接。
<server>.<database>.<schema>.<table>
然而我的第一个问题是我需要从一个表中获取<server>
部分。当我尝试执行以下操作时,会失败。
Select * FROM @ServerNameVariable.database.dbo.myTable
你知道如何使用用户定义变量来形成完全限定的链接服务器表名吗?
我的存储过程如下:
CREATE PROCEDURE TEST_SP
AS
BEGIN
DECLARE @NetworkDBName VARCHAR(255)
SET @NetworkDBName = '[MyLinkedServerName]'
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
select * from @NetworkDBName + '.' + testDatabase.dbo.Invoice_tb
END
GO
@
。 - Gordon Linoffsp
。 - Devart