Frammenti di query
Spesso è più facile duplicare il lavoro precedente e modificare piuttosto che scrivere qualcosa da zero. Ciò vale soprattutto per le istruzioni comuni JOIN
o le espressioni complesse CASE
. Man mano che l'elenco di query aumenta, può essere difficile ricordare quali query contengono l'istruzione necessaria. È anche possibile creare un frammento di query contenente un punto di inserimento con testo segnaposto che un utente può sostituire in fase di esecuzione.
I frammenti di query sono segmenti di query che è possibile condividere e attivare usando il completamento automatico. Usare frammenti di query per:
- Istruzioni frequenti
JOIN
- Clausole complesse come
WITH
oCASE
. - Formattazione condizionale
Ecco alcuni esempi di frammenti di codice:
--Simple snippet
WHERE fare_amount > 100
--Snippet with an insertion point for a value to be provided at runtime
WHERE fare_amount > ${1:value}
--Snippet with an insertion point for a value to be provided at runtime and containing a default value
WHERE fare_amount > ${1:100}
--Snippet with multiple insertion points
WHERE fare_amount > ${2:min_value} AND fare_amount < ${1:max_value} AND trip_distance < ${0:max_distance}
Creare frammenti di query
Usare la procedura seguente per creare frammenti di codice usando questi esempi di frammento:
Fare clic sul nome utente nella barra superiore dell'area di lavoro e selezionare Impostazioni dall'elenco a discesa.
Fare clic sulla scheda Sviluppo .
Accanto ai frammenti di query SQL fare clic su Gestisci.
Fare clic su Crea frammento di query.
Nel campo Sostituisci immettere il nome del frammento. Questo nome verrà usato durante la scrittura di una query usando il frammento di codice.
Immettere facoltativamente una descrizione.
Nel campo Frammento immettere il frammento di codice.
Fai clic su Crea.
Usare un frammento di query in una query
Di seguito è riportato un esempio di query semplice con cui è possibile usare questi frammenti di query:
--Simple query
SELECT * FROM samples.nyctaxi.trips
Usare la procedura seguente per usare un frammento di query con questa query:
Aprire l'editor SQL.
Digitare la query nel riquadro query dell'editor SQL.
Digitare le prime 3 lettere del nome del frammento e quindi selezionare un frammento nella finestra di completamento automatico. È anche possibile aprire manualmente la finestra premendo
Option
+Space
e selezionando un frammento di codice.Eseguire la query con la
WHERE
clausola dal frammento di query.
Uso dei punti di inserimento nei frammenti di query
È possibile designare i punti di inserimento eseguendo il wrapping di un ordine di tabulazione integer con un singolo segno di dollaro e parentesi graffe ${}
. Un segnaposto di testo preceduto da due :
punti è facoltativo, ma utile per gli utenti che non hanno familiarità con il frammento di codice. Nei frammenti di query con i punti di inserimento creati in precedenza, ${1:value}
è un punto di inserimento con segnaposto ed ${1:100}
è un punto di inserimento con un valore predefinito per il segnaposto di cui è possibile eseguire l'override in fase di esecuzione. Quando Databricks SQL esegue il rendering del frammento, i segni di dollaro $
e le {}
parentesi graffe vengono rimossi e la parola value
o il valore predefinito di 100
viene evidenziato per la sostituzione.
Quando sono presenti più punti di inserimento, l'inserimento di testo passa al primo punto di inserimento per richiedere il valore desiderato. Quando si preme Tab
, il carat passa al punto di inserimento successivo per il valore successivo. Quando si preme Tab
di nuovo, il carat passerà alla linea del punto di inserimento successivo fino a raggiungere il punto di inserimento finale.
Nota
Un punto di inserimento pari a zero ${0}
è sempre l'ultimo punto nell'ordine di tabulazione.
Usare la procedura seguente per usare i frammenti di query del punto di inserimento con la query:
Aprire l'editor SQL.
Digitare la query nel riquadro query dell'editor SQL.
Digitare le prime 3 lettere del nome del frammento di query e quindi selezionare un frammento di query con il punto di inserimento senza un valore predefinito.
Il frammento di query viene aggiunto alla query e l'inserimento di testo passa al punto di inserimento.
Immettere un valore per la
WHERE
clausola , ad esempio200
.Facoltativamente, eseguire la query con la
WHERE
clausola dal frammento di query.Ripetere i passaggi precedenti, ma selezionare il frammento di query con il punto di inserimento usando un valore predefinito.
Ripetere i passaggi precedenti, ma selezionare il frammento di query con più punti di inserimento.
Immettere un valore per il primo punto di inserimento, tabulazione al punto di inserimento successivo e immettere un valore e quindi tabulazione fino al punto di inserimento finale e immettere un valore.