sql server #region


163

posso creare regioni in SQL Server Editor (come #regione #endregionin C #)?

Risposte:


272

Non proprio, mi dispiace! Ma...

Aggiungendo begine end... con un commento sulle beginregioni create che assomiglierebbero a questo ... un po 'di hack però!

screenshot del codice regione fine inizio

Altrimenti puoi solo espandere e comprimere non puoi semplicemente dettare ciò che dovrebbe essere espanso e collassato. Non senza uno strumento di terze parti come SSMS Tools Pack .


4
Assicurati di aver abilitato la Dichiarazione di struttura in Editor di testo> Transact-SQL> Intellisense> Abilita Intellisense
GatesRegia il

2
technet.microsoft.com/en-us/library/aa225998(v=sql.80).aspx . Sebbene tutte le istruzioni Transact-SQL siano valide all'interno di un blocco BEGIN ... END, alcune istruzioni Transact-SQL non devono essere raggruppate nello stesso batch (blocco istruzioni). Qualcuno potrebbe dirmi perché non dovrebbero essere raggruppati?
Jacob Phan,

1
Utile hack, ma non dimenticare di aggiungere godopo la enddichiarazione se desideri creare più regioni / sezioni.
MarchWest

brillante! Grazie
stub

Bene! Se hai solo il blocco dei commenti. Devi aggiungere qualcosa senza commenti all'interno. per esempio: print
inon

12

(Sono sviluppatore del componente aggiuntivo SSMSBoost per SSMS)

Di recente abbiamo aggiunto il supporto per questa sintassi nel nostro componente aggiuntivo SSMSBoost.

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

Ha anche un'opzione per "riconoscere" automaticamente le regioni quando si aprono gli script.


2
Va bene ma non funziona al volo. Devo chiudere e riaprire il file per comprimere le regioni appena create.
Martin Capodici,

4
Esiste un'opzione "Reparse regioni", disponibile nel menu SSMSBoost sulla barra degli strumenti. Quindi, non è necessario riaprire il file.
Andrei Rantsevich,

Purtroppo questo ha un bug. Se le prime dichiarazioni di codice all'interno della regione vengono commentate, la regione termina alla fine commentando la riga di codice
Jeff

9

BEGIN ... END funziona, devi solo aggiungere una sezione commentata. Il modo più semplice per farlo è aggiungere un nome di sezione! Un altro percorso è aggiungere un blocco di commenti. Vedi sotto:

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

Si tratta solo di usare il rientro del testo nell'editor di query.

Vista estesa:

Expanded

Vista compressa:

Collapsed


3

No, #region non esiste nel linguaggio T-SQL.

Puoi ottenere la piegatura del codice usando i blocchi di inizio-fine:

- la mia regione
inizio
    - il codice va qui
fine

Non sono sicuro che consiglierei di usarli per questo a meno che il codice non possa essere accettabilmente riformattato con altri mezzi!


2

Ho usato una tecnica simile a quella di McVitie e solo in stored procedure o script piuttosto lunghi. Analizzerò alcune porzioni funzionali come questa:

BEGIN /** delete queries **/

DELETE FROM blah_blah

END /** delete queries **/

BEGIN /** update queries **/

UPDATE sometable SET something = 1

END /** update queries **/

Questo metodo si presenta abbastanza bene in Management Studio ed è davvero utile nella revisione del codice. Il pezzo crollato sembra un po 'come:

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

In realtà lo preferisco in questo modo perché so che i miei BEGINabbinamenti con ENDquesto modo.


1

Un'altra opzione è

se il tuo scopo è analizzare la tua query, Notepad + ha un wrapper automatico utile per SQL.


Questo mi aiuta davvero. Grazie
Theotonio
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.