Heim >Datenbank >MySQL-Tutorial >Wie gehe ich mit „Falsche Syntax in der Nähe von ‚go'' um, wenn ich dynamische SQL-Abfragen ausführe?

Wie gehe ich mit „Falsche Syntax in der Nähe von ‚go'' um, wenn ich dynamische SQL-Abfragen ausführe?

Linda Hamilton
Linda HamiltonOriginal
2025-01-05 13:50:39801Durchsuche

How to Handle

Ausführen dynamischer Abfragen mit GO in SQL

Das Ausführen dynamischer Abfragen mit GO-Anweisungen in SQL kann zu Fehlern führen, da GO kein anerkannter SQL-Befehl ist. Um dieses Problem zu beheben, ist es wichtig, alle Instanzen von GO aus der dynamischen SQL-Zeichenfolge zu entfernen, bevor Sie sie ausführen.

Beispiel:

Betrachten Sie den folgenden Code, der versucht, eine dynamische Abfrage auszuführen:

DECLARE @script VARCHAR(MAX);
SET @script = 
    '
    create table ali(id decimal(10,0));
    drop table ali;
    go
    create table ali(id decimal(10,0));
    drop table ali;
    '

EXEC (@script);

Bei der Ausführung führt diese Abfrage zu folgendem Fehler:

Msg 102, Level 15, State 1, Line 4 Incorrect syntax near 'go'.

Um diesen Fehler zu beheben, entfernen Sie alle Instanzen von GO aus der dynamischen SQL-Zeichenfolge:

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);

Dieser geänderte Code führt beide Abfragen erfolgreich aus, ohne dass der Fehler „Falsche Syntax in der Nähe von ‚go‘“ auftritt.

Das obige ist der detaillierte Inhalt vonWie gehe ich mit „Falsche Syntax in der Nähe von ‚go'' um, wenn ich dynamische SQL-Abfragen ausführe?. 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