[英]Run stored procedure on linked server (linked server name as variable)
[英]Run stored procedure on linked server (linked server name as Parameter)
我正在嘗試針對來自參數的鏈接服務器執行代碼。 下面是我的代碼。 但是我收到一個錯誤:
'找不到服務器 'P_LINKED_SERVER'。
如何針對來自參數的服務器執行?
DECLARE @P_LINKED_SERVER AS VARCHAR(30)
SET @LINKED_SERVER = (SELECT DSS_PARAMETER_VALUE FROM [DBO].DSS_PARAMETER WHERE DSS_PARAMETER_NAME = 'Server Name')
DECLARE @sql AS VARCHAR(max)
SET @sql = 'SQL CODE'
EXEC (@sql) AT [@P_LINKED_SERVER];
非常感謝
鏈接服務器名稱必須是完整語句的一部分,不能是參數。 所以:
DECLARE @P_LINKED_SERVER AS VARCHAR(30);
SELECT @LINKED_SERVER = DSS_PARAMETER_VALUE
FROM [DBO].DSS_PARAMETER
WHERE DSS_PARAMETER_NAME = 'Server Name';
DECLARE @sql AS NVARCHAR(max);
SET @sql = CONCAT('EXEC SQL CODE AT ', @LINKED_SERVER);
EXEC(@sql);
就您而言,您似乎想要:
SET @sql = CONCAT('EXEC ''DELETE FROM tablename'' AT ', @LINKED_SERVER);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.