Sdílet prostřednictvím


Fragmenty dotazů

Často je jednodušší duplikovat předchozí práci a upravovat ji, než psát něco úplně od začátku. To platí zejména pro běžné příkazy JOIN nebo složité výrazy CASE. S rostoucím seznamem dotazů může být obtížné si zapamatovat, které dotazy obsahují požadovaný příkaz. Můžete také vytvořit fragment dotazu, který obsahuje kurzor se zástupným textem, který může uživatel za běhu nahradit.

Fragmenty dotazů jsou segmenty dotazů, které můžete sdílet a aktivovat pomocí automatického dokončování. Fragmenty dotazů použijte pro:

  • Častá prohlášení JOIN
  • Složité klauzule jako WITH nebo CASE.
  • Podmíněné formátování

Tady jsou příklady fragmentů kódu:

--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}

Vytváření fragmentů dotazů

Fragment kódu dotazu můžete vytvořit z editorů SQL, poznámkového bloku nebo souborů. Postupujte takto:

  1. V novém editoru SQL klikněte na ikonu nabídky Kebab. Kebab menu a potom klikněte na Zobrazit.

    V poznámkových blocích nebo editorech souborů klikněte na Zobrazit.

  2. Klikněte na Fragmenty dotazů.

  3. Klikněte na Vytvořit fragment kódu dotazu.

  4. Do pole Nahradit zadejte název fragmentu kódu. Tento název použijete při psaní dotazu, který používá fragment kódu.

  5. (Volitelné) Zadejte popis.

  6. Do pole Fragment kódu zadejte fragment kódu.

  7. Klikněte na Vytvořit.

    fragmentu dotazu

Použití fragmentu dotazu

Úryvky dotazů je možné použít v jakémkoli dotazu SQL. K fragmentům dotazů můžete přistupovat v editoru SQL, buňkách SQL poznámkového bloku, souborech SQL a dotazech na řídicí panel AI/BI.

Tady je příklad jednoduchého dotazu, pomocí kterého můžete použít tyto fragmenty dotazů:

--Simple query
SELECT * FROM samples.nyctaxi.trips

Pomocí následujícího postupu použijte fragment dotazu s tímto dotazem:

  1. Otevřeteeditoru SQL .

  2. Zadejte dotaz do podokna dotazu editoru SQL.

  3. Začněte psát název fragmentu dotazu a pak ho vyberte v okně automatického dokončování.

    V editoru SQL můžete okno otevřít také ručně a Control+Space vybrat fragment kódu.

    Dotaz, který vybere fragment kódu

  4. Spusťte dotaz pomocí klauzule WHERE z fragmentu dotazu.

    dotaz zobrazující úryvek použitý v dotazu

Práce s vkládacími body ve fragmentech dotazů

Vložení bodů určujete tak, že celé pořadí záložek uzavřete do jednoho znaku dolaru a do složených závorek ${}. Zástupný text před dvojtečkou :je volitelný, ale užitečný pro uživatele, kteří váš fragment neznají. Ve fragmentech dotazu se vstupními body, které jste vytvořili dříve, ${1:value} je vstupní bod se zástupným symbolem a ${1:100} je vstupní bod s výchozí hodnotou zástupného symbolu, kterou můžete při běhu programu přepsat. Když Databricks SQL vykreslí fragment kódu, znak dolaru $ a složené závorky {} se odstraní a pro nahrazení se zvýrazní buď slovo value, nebo jeho výchozí hodnota 100.

Pokud existuje více bodů pro vložení textu, kurzor pro vložení textu přeskočí na první bod, aby byla vyžádána požadovaná hodnota. Když stisknete Tab, kurzor přeskočí na další místo pro vložení další hodnoty. Když znovu stisknete Tab, kurzor přeskočí na další místo pro vložení, dokud nedosáhne konečného místa pro vložení.

Poznámka

Bod vložení nuly ${0} je vždy posledním bodem v pořadí tabulátoru.

Pomocí následujících kroků použijte fragmenty dotazu kurzoru s dotazem:

  1. Otevřeteeditoru SQL .

  2. Zadejte dotaz do podokna dotazu editoru SQL.

  3. Zadejte první tři písmena názvu fragmentu dotazu a pak vyberte fragment dotazu s kurzorem bez výchozí hodnoty.

    Do dotazu je přidán úryvek dotazu a textový kurzor přeskočí na místo vložení.

    Dotaz pomocí dotazového fragmentu vkládacího bodu bez výchozí hodnoty

  4. Zadejte hodnotu klauzule WHERE, například 200.

  5. Volitelně můžete spustit dotaz s WHERE klauzulí z fragmentu dotazu.

  6. Opakujte předchozí kroky, ale vyberte úryvek dotazu s umístěním kurzoru pomocí výchozí hodnoty.

    Dotaz pomocí fragmentu dotazu kurzoru obsahujícího výchozí hodnotu

  7. Opakujte předchozí kroky, ale vyberte fragment dotazu s několika body vložení.

    Dotaz pomocí fragmentu dotazu s místy pro vložení obsahujícího více míst pro vložení

  8. Zadejte hodnotu pro první místo vložení, použijte klávesu Tab k přechodu na další místo vložení a zadejte hodnotu, poté použijte klávesu Tab k přechodu na poslední místo vložení a zadejte hodnotu.