112 votes

Comment puis-je exécuter uniquement la déclaration sur laquelle se trouve mon curseur dans SQL Server Management Studio ?

En tant qu'utilisateur de longue date de Toad for Oracle, j'ai pris l'habitude d'appuyer sur Ctrl+Enter et de faire exécuter uniquement l'instruction située sous le curseur.

Dans SQL Server Management Studio, appuyer sur F5 exécute l'intégralité du script. Pour exécuter uniquement l'instruction en cours, je dois manuellement mettre en surbrillance l'instruction que je veux, puis appuyer sur F5.

C'est vraiment ennuyeux pour moi. Quelqu'un connaît-il un outil avec un raccourci clavier permettant d'exécuter uniquement l'instruction en cours sur un serveur SQL ? Je changerais d'outil juste pour cette fonctionnalité.

Note : Curieusement, même le logiciel gratuit Toad for SQL Server ne vous permet pas d'exécuter uniquement l'instruction située sous le curseur.

2 votes

Note sur votre note : Dans TOAD, la touche F9 exécute le groupe de relevés courants. Les groupes sont séparés à l'aide du mot clé "go" (également répondu par "ercan").

0 votes

Dans les versions ultérieures de TOAD (v6.6++), F9 exécute uniquement l'instruction en cours. Les instructions peuvent être séparées par des points-virgules. Sa fiabilité à 95 % permet de savoir où se termine l'instruction même s'il n'y a pas de point-virgule.

2 votes

Dix ans plus tard, ce problème est toujours d'actualité. Je viens d'arriver de SQL Developer et je suis choqué de devoir faire une solution de contournement fastidieuse pour cela, même maintenant. Une solution récente peut-être ?

39voto

st.stoqnov Points 628

Vous pouvez consulter cet add-in pour SSMS 2012. Placez le curseur dans la déclaration que vous voulez exécuter et appuyez sur CTRL + SHIFT + E

SSMS Executor - https://github.com/devvcat/ssms-executor/releases

Mise à jour :
Le projet a été déplacé sur github et l'addin a été réécrit pour supporter SSMS 2014, SSMS 2016. (Auparavant, le projet vivait sur codeplex, à l'adresse SSMS Executor - http://ssmsexecutor.codeplex.com/ .)

2 votes

Cela a très bien fonctionné pour moi dans SSMS2012, mais maintenant j'exécute SSMS2014 et je vraiment manquez-la ! Quelqu'un connaît-il une solution pour SSMS2014 ?

3 votes

Bonjour samp Je suis en train de retravailler l'outil pour SSMS2014. Je vous ferai savoir quand il sera prêt.

0 votes

J'ai hâte d'y être !

22voto

JosephStyons Points 21187

Ok, donc ce que je retire de toutes ces réponses est "Non, ce n'est pas possible."

Edit :

Voici comment j'ai réussi à le faire :

1 - Télécharger Développeur SQL

2 - Téléchargez le conducteur jTDS

3 - Suivre ces instructions pour ajouter ce pilote à SQL Developer

4 - Se connecter à SQL Server en utilisant SQL Developer (cool !)

5 - Exécutez-le et la vie est belle

7 votes

Je ne suis pas sûr que cela puisse être considéré comme la réponse, car ces outils sont tous basés sur des outils Oracle. La question portait sur SSMS

2 votes

DBeaver permet également cette requête entre ; ; l'exécution. Et c'est beaucoup plus puissant que SQL Developer.

0 votes

Jacques L'exécution sur une seule ligne est la seule fonctionnalité qu'Oracle a réussi à mettre en place, alors que Microsoft ne l'a pas fait. Tout le reste de SQL Developer est en dessous de la moyenne, mais il hace s'intégrer aux serveurs MS SQL.

9voto

Salamander2007 Points 2242

Quelqu'un a suggéré ces caractéristiques sur Devart dbForge SQL Complete (addon pour Management Studio), et il est toujours en phase de développement. Espérons qu'il soit terminé et qu'il ne soit pas abandonné à mi-chemin de son développement.

2 votes

Je viens d'installer la version gratuite pour Sqlserver14( ?) et elle semble fonctionner. [Page Devart] ( devart.com/dbforge/sql/sqlcomplete/editions.html )

0 votes

Je l'ai utilisé jusqu'à maintenant.... maintenant il montre add chaque fois que je lance visual studio.

6voto

ercan Points 646

Remarque : Curieusement, même la version gratuite de Toad pour SQL Server ne vous permet pas d'exécuter seulement l'instruction sous le curseur.

Il est vraiment ennuyeux que TOAD ne tienne pas ses promesses :

De l'aide TOAD : [F9 pour exécuter] une partie d'une instruction, qui peut contenir une ou plusieurs instructions. Vous pouvez sélectionner la partie de l'instruction en plaçant le curseur à l'intérieur ou à côté de l'instruction, ou en sélectionnant l'instruction. Remarque : Toad considère comme "adjacentes" toutes les instructions (y compris les commentaires) séparées du curseur ou les unes des autres par moins de deux lignes vides. Si une erreur se produit pendant l'exécution d'une instruction, un message d'erreur s'affiche, vous permettant soit d'ignorer l'erreur et de continuer, soit d'interrompre l'exécution.

Je l'ai essayé des millions de fois mais il exécute simplement tout le script. Je voulais le chercher dans le groupe d'assistance aux utilisateurs (toadss(at)yahoogroups.com) mais yahoo a la fonction de recherche la plus stupide qui soit ! Il ne peut même pas trouver le mot clé "toad" dans le groupe de messagerie des crapauds, DOH !

Je pense que TOAD est le meilleur outil d'interrogation qui soit, mais l'absence de cette fonctionnalité m'ennuie vraiment.

MISE À JOUR : SOLUTION TROUVÉE ! J'ai posé cette question dans le groupe de messagerie toadss et j'ai obtenu la réponse. Contrairement à Oracle, vous devez séparer les déclarations dans SQL Server avec le mot-clé GO après chaque déclaration. Ce n'est que si vous faites cela que la touche F9 fonctionne comme prévu, en exécutant l'instruction en cours.

5voto

Andomar Points 115404

J'utilise une solution de rechange : Je commente les requêtes que je n'utilise pas. Vous pouvez utiliser CTRL-K, CTRL-C pour commenter le SQL que vous avez mis en évidence. Utilisez CTRL-K, CTRL-U pour décommenter. De cette façon, vous pouvez commenter toutes les autres requêtes et exécuter celle qui vous intéresse avec F5.

10 votes

C'est une vraie plaie. Pourquoi l'éditeur SQL devrait-il me faire commenter tout ce que je ne veux pas ? Ne puis-je pas simplement dire positivement "exécuter cette commande" sans saisir la souris ou appuyer 35 fois sur "Shift+Up" ?

6 votes

Juste pour clarifier, merci pour la réponse, je l'apprécie. En fait, je me plains simplement de l'interface de SQL Server Mgmt Studio.

2 votes

Si vous trouvez un meilleur moyen, n'hésitez pas à le poster ici :)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X