Struttura del codice

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di AzureAzure Synapse Analytics AnalyticsAnalytics Platform System (PDW)

La funzionalità di struttura del codice negli editor di query di SQL Server Management Studio consente di nascondere in modo selettivo il codice quando si modificano query. In questo modo è possibile visualizzare più facilmente il codice utilizzato, soprattutto in file di query di dimensioni elevate.

Panoramica sulla struttura

Per impostazione predefinita, quando si apre una finestra dell'editor di query tutto il codice è visibile. È possibile comprimere alcune aree del codice per nasconderne la visualizzazione. In una riga verticale sul bordo sinistro della finestra dell'editor viene utilizzato un quadrato con un segno di sottrazione (-) per identificare l'inizio di ogni area di codice comprimibile. Quando si fa clic sul segno di sottrazione, il testo dell'area del codice viene sostituito con una casella che contiene tre punti (...) e il segno di sottrazione viene modificato in un segno di addizione (+). Quando si fa clic sul segno di addizione, il codice compresso viene visualizzato e il segno di addizione viene modificato in un segno di sottrazione. Quando si sposta il puntatore su una casella in cui sono presenti i tre punti, viene visualizzata una descrizione di comando in cui viene mostrato il codice contenuto nella sezione compressa.

Abilitare o disabilitare la struttura del codice

È possibile gestire questa impostazione passando a Opzioni>strumenti, espandendo la sezione Editor di testo e selezionando IntelliSense. Per disabilitare la struttura del codice, deselezionare la casella di controllo Istruzioni struttura. La struttura del codice è abilitata per impostazione predefinita.

Aree della struttura di sistema

Ogni editor di SQL Server Management Studio genera un set di aree della struttura predefinite stabilite dal sistema.

Gli editor del codice MDX e DMX creano aree della struttura per ogni istruzione su più righe. Questo è l'unico livello di struttura supportata da tali editor.

Aree dell'editor di query XMLA di Analysis Services

L'editor di query XMLA di Analysis Services genera un'area della struttura per ogni attributo XML su più righe. L'editor nidifica le aree della struttura per i tag nidificati. L'editor XMLA, ad esempio, crea tre aree della struttura per il documento seguente.

Screenshot del codice XML che mostra la struttura.

Quando si fa clic sul segno di sottrazione nella riga <InnerTag>, viene compressa solo la parte relativa a InnerTag, come illustrato nella figura seguente.

Screenshot del codice XML con il nodo interno nascosto.

Quando si sposta il puntatore sulla casella in cui sono presenti i tre punti (...), il codice contenuto nell'area compressa viene visualizzato in un tooltip, come illustrato nella figura seguente.

Screenshot del codice XML con tooltip che mostra il codice nascosto.

Quando si fa clic sul segno di sottrazione nella riga <MiddleTag>, vengono compresse le parti relative a MiddleTag e InnerTag, come illustrato nella figura seguente.

Screenshot del codice XML con i tag interni e centrali nascosti.

Quando si fa clic sul segno di sottrazione nella riga <OuterTag>, vengono compresse tutte e tre le righe, come illustrato nella figura seguente.

Screenshot del codice XML che mostra tutti e tre i tag nascosti.

Aree dell'editor di query del motore di database

L'editor di query del motore di database genera aree di struttura per ogni elemento presente nella gerarchia seguente:

  1. Batch. Il primo batch è rappresentato dal codice dall'inizio del file fino al primo comando GO o fino alla fine del file nel caso in cui non siano presenti comandi GO. Dopo il primo comando GO, è presente un batch da ogni comando GO fino al successivo GO o fino alla fine del file.

  2. Blocchi delimitati dalle parole chiave seguenti:

    • BEGIN - END
    • BEGIN TRY - END TRY
    • BEGIN CATCH - END CATCH
  3. Istruzioni su più righe.

L'editor di query del motore di database crea ad esempio tre aree della struttura per la query seguente:

CREATE PROCEDURE Sales.SampleProc --Outline region 1
AS
BEGIN --Outline region 2
    SELECT GETDATE() AS TimeOfQuery;

    SELECT * --Outline region 3
    FROM sys.transmission_queue;

    SELECT @@VERSION;
END;
GO

È possibile fare clic sul segno di sottrazione sulla riga SELECT * per comprimere solo l'istruzione SELECT specifica. Per comprimere l'intero blocco BEGIN - END, fare clic sul segno di sottrazione sulla riga BEGIN. Per comprimere l'intero batch fino al comando GO, fare clic sul segno di sottrazione sulla riga CREATE PROCEDURE. Non è possibile comprimere la riga SELECT GETDATE() o SELECT @@VERSION singolarmente poiché sono istruzioni a riga singola e non definiscono aree della struttura.