2010-12-08 12 views

Respuesta

188

No realmente, ¡Lo siento! Pero ...

Adición begin y end .. con un comentario sobre la begin crea regiones que se vería así ... poco de truco sin embargo!

alt text

De lo contrario sólo se puede expandir y contraer simplemente no puede dictar lo que debe expandirse y contraerse. no sin una herramienta de terceros tales como SSMS Tools Pack

+2

Asegúrese de que ha habilitado Declaración Esquema bajo Editor de texto> Transact-SQL> Intellisense> Habilitar IntelliSense – GatesReign

+2

https://technet.microsoft.com/en-us/library/a a225998 (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 dentro del mismo lote (bloque de instrucciones). ¿Alguien podría decirme por qué no deberían agruparse? –

6

no fuera de la caja en SQL Server Management Studio, pero es un feature de la muy buena SSMS Tools Pack

+0

Que aún usa comentarios '--' para garantizar la compatibilidad de SQL ... – Oded

+6

Advertencia: cuesta 30 € con demostración de 60 días. –

+2

Cuando se publicó originalmente la extensión era gratuita –

0

No, #region no existe en la T- Lenguaje SQL.

Usted puede obtener utilizando bloques begin-end plegado de código:

 
-- my region 
begin 
    -- code goes here 
end 

No estoy seguro de que lo recomiendo el uso de ellos para esto a menos que el código no puede ser aceptablemente rediseñado por otros medios sin embargo!

1

He utilizado una técnica similar a la de McVitie, y solo en procedimientos almacenados o scripts que son bastante largos. Voy a descomponer ciertas partes funcionales de la siguiente manera:

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 agradable en el estudio de gestión y es muy útil en la revisión de código. La pieza se ve colapsada algo así como:

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

En realidad prefiero así porque sé que mis BEGIN partidos con la END esta manera.

6

BEGIN ... END funciona, solo tiene que agregar una sección comentada. ¡La forma más fácil de hacerlo es agregar un nombre de sección! Otra ruta es agregar un bloque de comentarios. Ver más 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 
7

(soy desarrollador de SSMSBoost complemento para SSMS)

Recientemente, hemos añadido soporte para esta sintaxis en nuestra SSMSBoost complemento.

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

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

+0

Está bien, pero no funciona sobre la marcha. Tengo que cerrar y volver a abrir el archivo para colapsar las regiones recién creadas. –

+0

Hay una opción de "regiones de análisis", disponible en el menú SSMSBoost en la barra de herramientas. Por lo tanto, no es necesario volver a abrir el archivo. –

+0

funciona para visual studio no para T-SQL kanguage – Parsa

1

Es solo una cuestión de utilizar la intención de texto en el editor de consultas.

Vista expandida:

Expanded

vista contraída:

Collapsed