Lors de l'exécution de requêtes SQL dynamiques à l'aide de GO, vous pouvez rencontrer des erreurs dues à une syntaxe non valide. L'un de ces problèmes est la présence d'instructions « GO » dans la chaîne de requête.
Dans T-SQL, « GO » sert de séparateur de lot, indiquant la fin d'un lot d'instructions. Cependant, lors de l'exécution de requêtes dynamiques, « GO » n'est pas une instruction valide.
Pour résoudre ce problème, supprimez toutes les instances de « GO » de la chaîne de requête dynamique. Alternativement, vous pouvez utiliser des outils tels que osql ou sqlcmd qui reconnaissent les commandes « GO ». En modifiant votre requête comme suit, vous pouvez l'exécuter avec succès sans rencontrer l'erreur « Syntaxe incorrecte près de 'go' » :
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);
N'oubliez pas que « GO » n'est pas une instruction T-SQL valide et ne devrait pas être inclus dans les requêtes SQL dynamiques. Supprimer « GO » ou utiliser des outils compatibles garantit la bonne exécution de vos requêtes dynamiques.
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!