Heim >Datenbank >MySQL-Tutorial >Warum verursacht meine dynamische SQL-Abfrage den Fehler „Falsche Syntax in der Nähe von ‚go'' in SQL Server?
Herausforderung:
Ausführen einer dynamischen SQL-Abfrage mit einer GO-Anweisung löst den Fehler „Msg 102, Level 15, State 1, Line 4 Incorrect syntax“ aus near 'go'".
Analyse:
GO ist keine gültige Transact-SQL-Anweisung, sondern ein Befehl, der von sqlcmd, osql und SQL Server Management Studio erkannt wird Code-Editor.
Lösung:
Um diesen Fehler zu beheben, müssen Sie ihn entfernen alle Instanzen von GO aus Ihrem dynamischen SQL. Das Ausführen der Abfrage mit entferntem GO sollte den Syntaxfehler beheben.
Codebeispiel:
DECLARE @script VARCHAR(MAX), @script1 VARCHAR(MAX); SET @script = ' create table ali(id decimal(10,0)); drop table ali; '; SET @script1 = ' create table ali(id decimal(10,0)); drop table ali; '; EXEC (@script); EXEC (@script1);
Hinweis:
Der in der Frage bereitgestellte Beispielcode diente nur zur Veranschaulichung. Das von Ihnen ausgeführte dynamische SQL enthält möglicherweise unterschiedliche Abfragen, aber die Lösung bleibt dieselbe: Entfernen Sie Instanzen von GO.
Das obige ist der detaillierte Inhalt vonWarum verursacht meine dynamische SQL-Abfrage den Fehler „Falsche Syntax in der Nähe von ‚go'' in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!