MS SQL链接服务器和在FROM子句中使用

时间:2014-03-18 17:18:25

标签: mysql sql sql-server

我有一个非常基本的测试存储过程,如下所示。此proc正在另一个服务器中的不同数据库中读取数据。为此,我使用的是链接服务器。根据我的阅读,我需要将FROM子句更改为:

[linked server name].[database name].[schema name].[table name]

但是,我想将链接服务器名称和数据库名称作为参数传递,并在我的FROM子句中使用它们。我不关心注入攻击等。我将从配置文件中传入此内容。

create PROC [dbo].[SelectTEST] 
@GU UNIQUEIDENTIFIER,
@LINKED_SERVER_NAME nvarchar(max),
@DATABASE_NAME nvarchar(max)
AS 
    SET NOCOUNT ON 
    SET XACT_ABORT ON  

    BEGIN TRAN

    SELECT [GU]
    FROM '[' + @LINKED_SERVER_NAME +'].['+ @DATABASE_NAME + '].[Test Table] '
    WHERE  ([GU] = @GU OR @GU IS NULL) 

    COMMIT

这是语法错误的一大堆。是否可以传入这些参数并在我的存储过程中使用?我不得不对一堆不同的触发器进行这种改变,所以sorta试图找到一个简洁的解决方案......

0 个答案:

没有答案