sql server #region


163

posso criar regiões no editor de servidor sql (como #regione #endregionem c #)?

Respostas:


272

Na verdade não, desculpe! Mas...

Adicionando begine end... com um comentário sobre as beginregiões de criação que ficariam assim ... um pouco de hack!

captura de tela do código da região de início e fim

Caso contrário, você só pode expandir e recolher, mas não pode ditar o que deve ser expandido e recolhido. Não sem uma ferramenta de terceiros, como o SSMS Tools Pack .


4
Verifique se você tem Declaração Esboço habilitado em Editor de Texto> Transact-SQL> Intellisense> Ativar Intellisense
GatesReign

2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . Embora todas as instruções Transact-SQL sejam válidas em um bloco BEGIN ... END, determinadas instruções Transact-SQL não devem ser agrupadas no mesmo lote (bloco de instruções). Alguém poderia me dizer por que eles não devem ser agrupados?
Jacob Phan

1
Corte útil, mas não esqueça de adicionar goapós a enddeclaração se você deseja criar várias regiões / seções.
marchWest

brilhante! Obrigado
stubs

Bem! Se você tiver apenas um bloco de comentários. Você deve adicionar algo sem comentar. por exemplo: imprimir
Inon

12

(Sou desenvolvedor do suplemento SSMSBoost para SSMS)

Recentemente, adicionamos suporte a essa sintaxe em nosso suplemento SSMSBoost.

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

Ele também tem uma opção para "reconhecer" regiões automaticamente ao abrir scripts.


2
Está tudo bem, mas não funciona em tempo real. Tenho que fechar e reabrir o arquivo para recolher as regiões recém-criadas.
Martin Capodici

4
Há uma opção "reanalisar regiões", disponível no menu SSMSBoost na barra de ferramentas. Portanto, não há necessidade de reabrir o arquivo.
Andrei Rantsevich 26/02

Infelizmente isso tem um erro. Se as primeiras instruções de código dentro da região são comentadas, a região terminou finalmente com a linha de código comentada
Jeff

9

BEGIN ... END funciona, basta adicionar uma seção comentada. A maneira mais fácil de fazer isso é adicionar um nome de seção! Outra rota é adicionar um bloco de comentários. Ver abaixo:

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

É apenas uma questão de usar recuo de texto no editor de consultas.

Visualização expandida:

Expandido

Vista recolhida:

Desabou


3

Não, #region não existe na linguagem T-SQL.

Você pode obter a dobragem de código usando blocos de início e fim:

- minha região
início
    - código vai aqui
fim

Não tenho certeza se eu recomendaria usá-los para isso, a menos que o código não possa ser aceitável refatorado por outros meios!


2

Eu usei uma técnica semelhante à McVitie's, e apenas em procedimentos armazenados ou scripts que são bastante longos. Vou dividir certas porções funcionais 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 mostra-se bastante agradável no estúdio de gerenciamento e é realmente útil na revisão de código. A peça recolhida se parece com:

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

Na verdade, eu prefiro assim porque sei que BEGINcombina com ENDesse jeito.


1

Outra opção é

se seu objetivo é analisar sua consulta, o Bloco de Notas + possui um invólucro automático útil para o Sql.


Isso realmente me ajuda. Obrigado
Theotonio
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.