Maison >base de données >tutoriel mysql >Pourquoi ma requête SQL dynamique provoque-t-elle une erreur « Syntaxe incorrecte proche de « go » » dans SQL Server ?

Pourquoi ma requête SQL dynamique provoque-t-elle une erreur « Syntaxe incorrecte proche de « go » » dans SQL Server ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-27 17:22:11456parcourir

Why Does My Dynamic SQL Query Cause a

Dépannage des erreurs de syntaxe lors de l'exécution de requêtes dynamiques avec GO

Défi :

Exécuter une requête SQL dynamique avec une instruction GO déclenche l'erreur "Msg 102, niveau 15, état 1, ligne 4 Syntaxe incorrecte à proximité 'go'".

Analyse :

GO n'est pas une instruction Transact-SQL valide mais plutôt une commande reconnue par sqlcmd, osql et SQL Server Management Studio Code Éditeur.

Solution :

Pour résoudre cette erreur, vous devez supprimer toutes les instances de GO à partir de votre SQL dynamique. L'exécution de la requête avec GO supprimé devrait résoudre l'erreur de syntaxe.

Exemple de code :

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

Remarque :

L'exemple de code fourni dans la question était uniquement à des fins d'illustration. Le SQL dynamique que vous exécutez peut contenir différentes requêtes mais la solution reste la même : supprimez les instances de GO.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn