Frågeutdrag
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 infogningspunkt med platshållartext som en användare kan ersätta under 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 Developer.
Bredvid SQL-frågefragment klickar du på Hantera.
Klicka på Skapa frågefragment.
I fältet Ersätt anger du kodfragmentets namn. 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 infogningspunkter i frågefragment
Du anger insättningspunkter genom att omsluta en heltalsordning med ett 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 är ${1:value}
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 klammerparenteser {}
bort och ordet value
eller standardvärdet för 100
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 på Tab
hoppar markören till nästa insättningspunkt för nästa värde. När du trycker på Tab
igen hoppar caraten till nästa insättningspunktslinje tills den når den sista insättningspunkten.
Notera
En insättningspunkt med värdet noll ${0}
är alltid den sista punkten i tabbordningen.
Använd följande steg för att använda insättningspunktsfrågefragment 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 textinsättningsmarkören flyttas till insättningspunkten.
Ange ett värde för
WHERE
-satsen, till exempel200
.Valfritt, kör 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.