Frågeuttryck
Det är ofta enklare att duplicera tidigare arbete och ändra än att skriva något från grunden. Detta gäller särskilt för vanliga JOIN
instruktioner eller komplexa CASE
uttryck. När listan med frågor växer kan det vara svårt att komma ihåg vilka frågor som innehåller den instruktion du behöver. Du kan också skapa ett frågefragment som innehåller en insättningspunkt med platshållartext som en användare kan ersätta vid körning.
Frågefragment är segment av frågor som du kan dela och utlösa med automatisk komplettering. Använd frågefragment för:
- Vanliga
JOIN
instruktioner - Komplicerade satser som
WITH
ellerCASE
. - Villkorsstyrd formatering
Här är exempel på kodfragment:
--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}
Skapa frågefragment
Använd följande steg för att skapa kodfragment med hjälp av följande kodfragmentexempel:
Klicka på ditt användarnamn i arbetsytans övre stapel och välj Inställningar i listrutan.
Klicka på fliken Utvecklare .
Bredvid SQL-frågefragment klickar du på Hantera.
Klicka på Skapa frågefragment.
I fältet Ersätt anger du kodfragmentnamnet. Du använder det här namnet när du skriver en fråga som använder kodfragmentet.
Du kan också ange en beskrivning.
I fältet Kodfragment anger du kodfragmentet.
Klicka på Skapa.
Använda ett frågefragment i en fråga
Här är ett exempel på en enkel fråga som du kan använda följande frågefragment med:
--Simple query
SELECT * FROM samples.nyctaxi.trips
Använd följande steg för att använda ett frågefragment med den här frågan:
Öppna SQL-redigeraren.
Skriv din fråga i frågefönstret för SQL-redigeraren.
Skriv de tre första bokstäverna i kodfragmentets namn och välj sedan ett kodfragment från fönstret komplettera automatiskt. Du kan också öppna fönstret manuellt genom att trycka på
Option
+Space
och välja ett kodfragment.Kör frågan med
WHERE
-satsen från frågefragmentet.
Arbeta med insättningspunkter i frågefragment
Du anger insättningspunkter genom att omsluta en heltalsflikordning med ett enda dollartecken och klammerparenteser ${}
. En textplatshållare som föregås av ett kolon :
är valfritt men användbart för användare som inte är bekanta med kodfragmentet. I frågefragmenten med insättningspunkter som du skapade tidigare ${1:value}
är en insättningspunkt med platshållare och ${1:100}
är en insättningspunkt med ett standardvärde för platshållaren som du kan åsidosätta vid körning. När Databricks SQL renderar kodfragmentet tas dollartecknet $
och klammerparenteserna {}
bort och ordet value
eller standardvärdet 100
för markeras för ersättning.
När det finns flera insättningspunkter hoppar textinfogningskaraten till den första insättningspunkten för att fråga efter önskat värde. När du trycker Tab
på hoppar caraten till nästa insättningspunkt för nästa värde. När du trycker Tab
igen hoppar caraten till nästa insättningspunktslinje tills den når den sista insättningspunkten.
Kommentar
En insättningspunkt på noll ${0}
är alltid den sista punkten i tabbordningen.
Använd följande steg för att använda frågefragmenten för insättningspunkt med frågan:
Öppna SQL-redigeraren.
Skriv din fråga i frågefönstret för SQL-redigeraren.
Skriv de första tre bokstäverna i namnet på frågefragmentet och välj sedan ett frågefragment med insättningspunkten utan ett standardvärde.
Frågefragmentet läggs till i frågan och textinfogningskarten hoppar till insättningspunkten.
Ange ett värde för
WHERE
-satsen, till exempel200
.Du kan också köra frågan med
WHERE
-satsen från frågefragmentet.Upprepa föregående steg men välj frågefragmentet med insättningspunkten med ett standardvärde.
Upprepa föregående steg men välj frågefragmentet med flera insättningspunkter.
Ange ett värde för den första insättningspunkten, ta en flik till nästa insättningspunkt och ange ett värde och ta sedan en flik till den sista insättningspunkten och ange ett värde.