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!