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ů

Pomocí následujících kroků vytvořte fragmenty kódu pomocí těchto příkladů fragmentů kódu:

  1. Klikněte na své uživatelské jméno v horním panelu pracovního prostoru a v rozevíracím seznamu vyberte Nastavení.

  2. Klikněte na kartu Vývojář.

  3. Vedle fragmentů dotazů SQL klikněte na Spravovat.

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

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

  6. Volitelně zadejte popis.

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

  8. Klikněte na Vytvořit.

    fragmentu dotazu

Použijte fragment dotazu v dotazu

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. Zadejte prvních 3 písmena názvu fragmentu kódu a pak v okně automatického dokončování vyberte fragment kódu. Okno můžete otevřít také ručně tak, že stisknete Option + Space a vyberete fragment kódu.

    Dotaz, který vybere fragment kódu

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

    dotazu zobrazující fragment kódu 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í. V úryvcích dotazů s místy pro vložení, které jste vytvořili dříve, ${1:value} je vložený bod se zástupným prvkem a ${1:100} je vložený bod s výchozí hodnotou pro zástupný prvek, kterou můžete za běhu změnit. Když Databricks SQL vykreslí fragment kódu, znak dolaru $ a složené závorky {} se odstraní a slovo value nebo výchozí hodnota 100 se zvýrazní pro nahrazení.

Pokud existuje více bodů vložení, kurzor textu přeskočí na první kurzor, aby se zobrazila výzva k požadované hodnotě. Když stisknete Tab, kurzor přeskočí na další místo pro vložení pro další hodnotu. Když znovu stisknete Tab, kurzor přeskočí na další místo pro vložení, dokud nedosáhne poslední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ích 3 písmena názvu fragmentu dotazu a pak vyberte fragment dotazu s kurzorem bez výchozí hodnoty.

    Do dotazu se přidá fragment dotazu a vsuvkový kurzor přeskočí na bod 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 klauzulí WHERE z fragmentu dotazu.

  6. Opakujte předchozí kroky, ale pomocí výchozí hodnoty vyberte fragment dotazu s kurzorem.

    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 prvního kurzoru, přejděte tabulátorem na další kurzor a zadejte hodnotu a potom přejděte tabulátorem na konečný kurzor a zadejte hodnotu.