Bonjour,
Je me demandais quel état le rôle de la commande GO que l'on voit parfois dans certains exports au format SQL.
Si je retire les GO j'ai l'impression que ça fait pareil....
Si quelqu'un a la réponse je serais curieux de savoir
Merci !
Bonjour,
Je me demandais quel état le rôle de la commande GO que l'on voit parfois dans certains exports au format SQL.
Si je retire les GO j'ai l'impression que ça fait pareil....
Si quelqu'un a la réponse je serais curieux de savoir
Merci !
GO n'est pas une commande SQl. C'est une commande de l'interpréteur qu'est SSMS ou SQLcmd.
Cette commande permet de forcrer l'envoi du lot de commande SQL et d'attendre le retour du serveur avant de poursuivre.
Elle est indispensable dans certains cas de figure, car le serveur ne peut pas toujours comprendre ce que l'on veut faire d'un point de vue analyse syntaxique ou objet.
Exemple :
;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CREATE TABLE TOTO (C INT); CREATE VIEW TITI AS SELECT * FROM TOTO
Renvoi systématiquement :
Msg*111, Niveau*15, État*1, Ligne*2
'CREATE VIEW' doit être la première instruction d'un traitement de requêtes.
Car le création de la vue se fait sur un objet qui n'existe pas à l'interprétation
Avec GO tout va bien :
;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE TABLE TOTO (C INT); GO CREATE VIEW TITI AS SELECT * FROM TOTO
Notez que GO doit toujours être sur une ligne séparée car c'est ligne à ligne qu'agit l'interpréteur de commande. Par exemple :
;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 CREATE TABLE TOTO (C INT); GO CREATE VIEW TITI AS SELECT * FROM TOTO
Provoque une autre erreur :
Msg*102, Niveau*15, État*1, Ligne*1
Syntaxe incorrecte vers 'GO'.
Msg*111, Niveau*15, État*1, Ligne*2
'CREATE VIEW' doit être la première instruction d'un traitement de requêtes.
A +
Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
* * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *
Etienne ZINZINDOHOUE
Billets-Articles
Partager