web-dev-qa-db-fra.com

serveur SQL #region

puis-je créer des régions dans l'éditeur de serveur SQL (comme #region et #endregion en C #)?

145
Rauf

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

Ajouter begin et end .. avec un commentaire sur le begin crée des régions qui ressemblent à ceci ... peu de bidouillage !

screenshot of begin end region code

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

240
Dog Ears

(Je suis développeur de SSMSBoost add-in pour SSMS)

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

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

Il dispose également d'une option permettant de "reconnaître" automatiquement les régions lors de l'ouverture de scripts.

10
Andrei Rantsevich

BEGIN ... END fonctionne, il vous suffit d’ajouter une section commentée. Le moyen le plus simple consiste à ajouter un nom de section! Une autre voie 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
8
BClaydon

Pas prêt à l'emploi dans Sql Server Management Studio, mais c'est un fonctionnalité du très bon SSMS Tools Pack

6
Pero P.

Il suffit d'utiliser l'indentation du texte dans l'éditeur de requête.

Vue développée:

Expanded

Vue réduite:

Collapsed

4
Bharath theorare

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 agréable dans le studio de gestion et est vraiment utile pour réviser le code. La pièce effondrée ressemble un peu à:

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

En fait, je le préfère de cette façon car je sais que mon BEGIN correspond au END de cette façon.

2
andylize

Une autre option est

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

1
Tekin Güllü

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

Vous pouvez obtenir le pliage de code en utilisant des blocs début-fin:

 - ma région 
 commence 
 - le code est ici [.____]. fin 

Je ne suis pas sûr que je recommanderais de les utiliser pour cela, à moins que le code ne puisse pas être reformulé de manière acceptable par d'autres moyens!

0
Matt