servidor sql #region


163

¿Puedo crear regiones en el editor del servidor SQL (como #region y #endregionen C #)?

Respuestas:


272

¡En realidad no lo siento! Pero...

Agregando beginy end... con un comentario sobre las beginregiones creadas que se verían así ... ¡un poco de pirateo!

captura de pantalla del código de inicio de la región final

De lo contrario, solo puede expandirse y colapsarse, simplemente no puede dictar qué debe expandirse y colapsarse. No sin una herramienta de terceros como SSMS Tools Pack .


44
Asegúrese de tener la Declaración de esquema habilitada en Editor de texto> Transact-SQL> Intellisense> Habilitar Intellisense
GatesReign

2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . Aunque todas las instrucciones de Transact-SQL son válidas dentro de un bloque BEGIN ... END, ciertas instrucciones de Transact-SQL no deben agruparse en el mismo lote (bloque de instrucciones). ¿Alguien podría decirme por qué no deberían agruparse?
Jacob Phan

1
Hack útil, pero no olvide agregar godespués de la enddeclaración si desea crear múltiples regiones / secciones.
marzoOeste

¡brillante! Gracias
talones

¡Multa! Si solo tiene comentarios, bloquee. Tienes que agregar algo sin comentarios dentro. por ejemplo: imprimir
Inon

12

(Soy desarrollador del complemento SSMSBoost para SSMS)

Recientemente hemos agregado soporte para esta sintaxis en nuestro complemento SSMSBoost.

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

También tiene una opción para "reconocer" automáticamente las regiones al abrir scripts.


2
Está bien pero no funciona sobre la marcha. Tengo que cerrar y volver a abrir el archivo para colapsar las regiones recién creadas.
Martin Capodici 01 de

44
Hay una opción de "volver a analizar regiones", disponible en el menú SSMSBoost en la barra de herramientas. Por lo tanto, no es necesario volver a abrir el archivo.
Andrei Rantsevich

Lamentablemente esto tiene un error. Si se comentan las primeras declaraciones de código dentro de la región, la región terminó en la última línea de código comentada
Jeff

9

BEGIN ... END funciona, solo tienes que agregar una sección comentada. ¡La forma más fácil de hacer esto es agregar un nombre de sección! Otra ruta es agregar un bloque de comentarios. Vea abajo:

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

Es solo una cuestión de usar sangría de texto en el editor de consultas.

Vista ampliada:

Expandido

Vista contraída:

Colapsado


3

No, #region no existe en el lenguaje T-SQL.

Puede obtener el plegado de código utilizando bloques de inicio y fin:

-- Mi región
empezar
    - el código va aquí
final

¡No estoy seguro de que recomendaría usarlos para esto a menos que el código no pueda ser refactorizado aceptablemente por otros medios!


2

He usado una técnica similar a la de McVitie, y solo en procedimientos almacenados o scripts que son bastante largos. Desglosaré ciertas porciones funcionales como esta:

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

Este método se muestra bastante bien en el estudio de administración y es realmente útil para revisar el código. La pieza colapsada se parece a:

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

De hecho, lo prefiero de esta manera porque sé que mis BEGINcoincidencias con el de ENDesta manera.


1

Otra opción es

si su propósito es analizar su consulta, Notepad + tiene un contenedor automático útil para SQL.


Esto realmente me ayuda. Gracias
Theotonio
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.