serveur sql #region


163

puis-je créer des régions dans l'éditeur de serveur SQL (comme #regionet #endregionen C #)?

Réponses:


272

Pas vraiment, désolé! Mais...

Ajout beginet end.. avec un commentaire sur les beginrégions crée qui ressembleraient à ceci ... un peu de hack cependant!

capture d'écran du code de région de début de fin

Sinon, vous ne pouvez que développer et réduire, vous ne pouvez tout simplement pas dicter ce qui doit être développé et réduit. Pas sans un outil tiers tel que SSMS Tools Pack .


4
Assurez-vous que l'instruction Outline est activée sous Éditeur de texte> Transact-SQL> Intellisense> Activer Intellisense
GatesReign

2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . Bien que toutes les instructions Transact-SQL soient valides dans un bloc BEGIN ... END, certaines instructions Transact-SQL ne doivent pas être regroupées dans le même lot (bloc d'instructions). Quelqu'un pourrait-il me dire pourquoi ils ne devraient pas être regroupés?
Jacob Phan

1
Astuce utile, mais n'oubliez pas d'ajouter goaprès l' endinstruction si vous souhaitez créer plusieurs régions / sections.
marchWest

brillant! Merci
stubs

Bien! Si vous avez uniquement un bloc de commentaires. Vous devez ajouter quelque chose sans commentaire à l'intérieur. par exemple: print
inon le

12

(Je suis développeur du complément SSMSBoost pour SSMS)

Nous avons récemment ajouté la prise en charge de cette syntaxe dans notre complément SSMSBoost.

--#region [Optional Name]
--#endregion

Il a également une option pour «reconnaître» automatiquement les régions lors de l'ouverture des scripts.


2
C'est OK mais ne fonctionne pas à la volée. Je dois fermer et rouvrir le fichier pour réduire les régions nouvellement créées.
Martin Capodici

4
Il existe une option «Analyser les régions», disponible dans le menu SSMSBoost de la barre d'outils. Donc, pas besoin de rouvrir le fichier.
Andrei Rantsevich

Malheureusement, cela a un bug. Si les premières instructions de code dans la région sont commentées, la région se termine à la dernière ligne de code commentée
Jeff

9

BEGIN ... END fonctionne, il vous suffit d'ajouter une section commentée. Le moyen le plus simple de le faire est d'ajouter un nom de section! Une autre méthode consiste à ajouter un bloc de commentaires. Voir ci-dessous:

BEGIN  -- Section Name
/* 
Comment block some stuff  --end comment should be on next line
*/

 --Very long query
SELECT * FROM FOO
SELECT * FROM BAR
END


4

Il s'agit simplement d'utiliser l'indentation de texte dans l'éditeur de requête.

Vue agrandie:

Étendu

Vue réduite:

S'est effondré


3

Non, #region n'existe pas dans le langage T-SQL.

Vous pouvez obtenir un pliage de code à l'aide de blocs de début:

- ma région
commencer
    - le code va ici
fin

Je ne suis pas sûr de recommander de les utiliser pour cela, sauf si le code ne peut pas être refactorisé de manière acceptable par d'autres moyens!


2

J'ai utilisé une technique similaire à celle de McVitie, et uniquement dans des procédures stockées ou des scripts assez longs. Je vais décomposer certaines parties fonctionnelles comme ceci:

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

Cette méthode apparaît assez bien dans le studio de gestion et est vraiment utile pour réviser le code. La pièce effondrée ressemble à ceci:

BEGIN /** delete queries **/ ... /** delete queries **/

En fait, je préfère cela parce que je sais que mes BEGINcorrespondances avec ENDcette façon.


1

Une autre option est

si votre objectif est d'analyser votre requête, Notepad + a un wrapper automatique utile pour Sql.


Cela m'aide vraiment. Merci
Theotonio
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.