Beim Ausführen dynamischer SQL-Abfragen mit GO können Fehler aufgrund einer ungültigen Syntax auftreten. Ein solches Problem ist das Vorhandensein von „GO“-Anweisungen innerhalb der Abfragezeichenfolge.
In T-SQL dient „GO“ als Stapeltrennzeichen und zeigt das Ende eines Stapels von Anweisungen an. Beim Ausführen dynamischer Abfragen ist „GO“ jedoch keine gültige Anweisung.
Um dieses Problem zu beheben, entfernen Sie alle Instanzen von „GO“ aus der dynamischen Abfragezeichenfolge. Alternativ können Sie Tools wie osql oder sqlcmd verwenden, die „GO“-Befehle erkennen. Indem Sie Ihre Abfrage wie folgt ändern, können Sie sie erfolgreich ausführen, ohne dass der Fehler „Falsche Syntax in der Nähe von ‚go‘“ auftritt:
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);
Bedenken Sie, dass „GO“ keine gültige T-SQL-Anweisung ist und dies auch nicht tun sollte in dynamische SQL-Abfragen einbezogen werden. Durch das Entfernen von „GO“ oder die Verwendung kompatibler Tools wird die ordnungsgemäße Ausführung Ihrer dynamischen Abfragen sichergestellt.
Das obige ist der detaillierte Inhalt vonWie gehe ich mit „Falsche Syntax in der Nähe von ‚go'' in den dynamischen SQL-Abfragen von Go um?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!