GO
n'est pas réellement une commande T-SQL. Le GO
La commande a été introduite par les outils Microsoft comme un moyen de séparer les instructions de lot telles que la fin d'une procédure stockée. GO
est pris en charge par les outils de pile Microsoft SQL mais ne fait pas officiellement partie d'autres outils.
Vous ne pouvez pas mettre un GO
dans une chaîne de SQL et l'envoyer dans le cadre d'un objet de commande ADO.NET car SQL lui-même ne comprend pas le terme. Une autre façon de le démontrer est d'utiliser le profileur :configurez des instructions qui utilisent GO
dans Query Analyzer/Management Studio, puis exécutez le profileur lors de l'exécution. Vous verrez qu'ils sont émis en tant que commandes distinctes vers le serveur.
Le point-virgule est utilisé pour signifier la fin d'une instruction elle-même, pas nécessairement un lot entier.
http://msdn.microsoft.com/en-us/library/ms188037 .aspx