serveur sql #region

163

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

Rauf
la source

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 .

Oreilles de chien
la source
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.

Andrei Rantsevich
la source
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
BClaydon
la source
6

Pas hors de la boîte dans Sql Server Management Studio, mais c'est une fonctionnalité du très bon SSMS Tools Pack

Pero P.
la source
7
Attention: il en coûte 30 € avec une démo de 60 jours.
Martin Capodici
2
Quand cela a été initialement publié, l'extension était gratuite
Pero P.
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é

Théorare de Bharat
la source
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!

Mat
la source
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.

andyliser
la source
1

Une autre option est

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

Tekin Güllü
la source
Cela m'aide vraiment. Merci
Theotonio