Heim >Datenbank >MySQL-Tutorial >Wie verwende ich Variablen in OPENROWSET-Abfragen?

Wie verwende ich Variablen in OPENROWSET-Abfragen?

Barbara Streisand
Barbara StreisandOriginal
2025-01-05 13:22:43657Durchsuche

How to Use Variables in OPENROWSET Queries?

Verwenden einer Variablen in einer OPENROWSET-Abfrage

Versuche, einen Ausdruck in einer OPENROWSET-Abfrage zu verwenden, führen häufig zu einem Fehler wie „Falsche Syntax in der Nähe ' '" Dies liegt daran, dass OPENROWSET die Verwendung von Ausdrücken zur Angabe nicht unterstützt Parameter.

Um dieses Problem zu beheben, verwenden Sie dynamisches SQL, um die OPENROWSET-Abfragezeichenfolge mit dem eingebetteten Parameterwert zu erstellen. Der folgende Code zeigt beispielsweise, wie dynamisches SQL verwendet wird, um einen ganzzahligen Parameter namens @ID an die gespeicherte Prozedur sProc1 in der OPENROWSET-Abfrage zu übergeben:

DECLARE @ID int
DECLARE @sql nvarchar(max)

SET @ID = 1
SET @sql = 'SELECT *
FROM OPENROWSET(
    ''SQLNCLI'',
    ''DRIVER={SQL Server};'',
    ''EXEC dbo.sProc1 @ID = ' + CAST(@ID AS VARCHAR(10)) + ''')'

-- Print @sql
PRINT @sql

-- Execute dynamic SQL
EXEC(@sql)

In diesem Beispiel der Wert der @ID-Variablen wird mithilfe der CAST-Funktion dynamisch in die OPENROWSET-Abfragezeichenfolge eingefügt, um den ganzzahligen Wert in einen VARCHAR(10)-Wert umzuwandeln. Die resultierende dynamische SQL-Anweisung wird dann auf der Konsole ausgegeben und ausgeführt.

Das obige ist der detaillierte Inhalt vonWie verwende ich Variablen in OPENROWSET-Abfragen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn