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.