Heim >Datenbank >MySQL-Tutorial >Wie kann ich Parameter mit OPENQUERY in SQL Server verwenden?
Parameter in OPENQUERY verwenden
OPENQUERY ist ein leistungsstarkes Tool für den Zugriff auf Verbindungsserverdaten, aber die Einbindung von Parametern in Abfragen kann eine Herausforderung sein. In der Dokumentation heißt es eindeutig, dass OPENQUERY keine Variablen für seine Parameter akzeptiert.
Lösung:
Um diese Einschränkung zu überwinden, stehen mehrere Problemumgehungen zur Verfügung:
<code class="language-sql">DECLARE @TSQL varchar(8000), @VAR char(2) SELECT @VAR = 'CA' SELECT @TSQL = 'SELECT * FROM OPENQUERY(MyLinkedServer,''SELECT * FROM pubs.dbo.authors WHERE state = ''''' + @VAR + ''''''')' EXEC (@TSQL)</code>
<code class="language-sql">DECLARE @OPENQUERY nvarchar(4000), @TSQL nvarchar(4000), @LinkedServer nvarchar(4000) SET @LinkedServer = 'MyLinkedServer' SET @OPENQUERY = 'SELECT * FROM OPENQUERY('+ @LinkedServer + ',''' SET @TSQL = 'SELECT au_lname, au_id FROM pubs..authors'')' EXEC (@OPENQUERY+@TSQL)</code>
<code class="language-sql">DECLARE @VAR char(2) SELECT @VAR = 'CA' EXEC MyLinkedServer.master.dbo.sp_executesql N'SELECT * FROM pubs.dbo.authors WHERE state = @state', N'@state char(2)', @VAR</code>
Das obige ist der detaillierte Inhalt vonWie kann ich Parameter mit OPENQUERY in SQL Server verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!