sql server #region

163

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

Rauf
fonte

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 .

Orelhas de cão
fonte
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.

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

Não está pronto para uso no Sql Server Management Studio, mas é um recurso do muito bom SSMS Tools Pack

Pero P.
fonte
7
Advertência: custa 30 € com uma demonstração de 60 dias.
Martin Capodici
2
Quando isso foi originalmente publicado a extensão estava livre
Pero P.
4

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

Visualização expandida:

Expandido

Vista recolhida:

Desabou

Teoria de Bharath
fonte
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!

Matt
fonte
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.

andilizar
fonte
1

Outra opção é

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

Tekin Güllü
fonte
Isso realmente me ajuda. Obrigado
Theotonio