.NET

Psaní SQL dotazů

Nejběžnějším typem vnitřní karty je karta dotazu (Záložka dotazu), obsahující následující prvky. Uvedené klávesové zkratky jsou výchozí pro Windows/Linux; na macOS používají vlastní zkratky OmniDB místo Alt klávesu Ctrl. Všechny lze změnit v Nastavení > Klávesové zkratky.

A Query tab with the SQL editor, toolbar and results

Dělicí čáru mezi editorem (s jeho panelem nástrojů) a výsledky lze přetáhnout a dát tak více místa jednomu či druhému.

Bezpečnostní potvrzení u destruktivních příkazů

Před spuštěním příkazu, který začíná na DROP nebo TRUNCATE, nebo příkazu UPDATE/DELETE bez klauzule WHERE si karta dotazu vyžádá potvrzení (Tento příkaz je destruktivní a nelze jej vrátit zpět. Přesto jej spustit?, nebo Tento příkaz nemá klauzuli WHERE a ovlivní VŠECHNY řádky. Přesto jej spustit?). Jde o pojistku proti nechtěným chybám, ne o systém oprávnění — kontroluje se jen začátek textu (za komentáři).

Po spuštění se karty ukládají také do uživatelské databáze OmniDB (název i obsah), takže při příštím otevření OmniDB je uvidíte všechny znovu otevřené. Každý příkaz, který spustíte na kartě dotazu, se navíc ukládá do historie příkazů daného připojení.

Automatické doplňování SQL

SQL editor má funkci, která velmi pomáhá při psaní nových dotazů: doplňování SQL kódu. Návrhy otevřete klávesami Ctrl-Space (Option-Space na macOS). Díky této funkci je možné doplňovat sloupce obsažené v tabulce, na kterou odkazuje alias: napište alias, znak . a poté otevřete automatické doplňování:

Autocomplete after a table alias

Pokud uživatel spustí automatické doplňování s kurzorem, který není blízko aliasu tabulky, komponenta zobrazí více kategorií dat. Psaním do filtračního textového pole se prvky ve všech kategoriích filtrují:

Autocomplete offering all categories

Komponenta automatického doplňování dokáže rozpoznat i některé kontextové informace. Pokud například napíšete název schématu a poté znak ., budete moci filtrovat pouze mezi objekty obsaženými v daném schématu:

Autocomplete after a schema name

Za :: (přetypování v PostgreSQL) se nabízejí jen datové typy. Výběr klíčového slova přidá i to, co za ním vždy následuje (například mezeru za SELECT nebo otevírací závorku za COALESCE). Které kategorie se vůbec nabízejí (klíčová slova, databáze, role, tablespace, schémata, rozšíření, tabulky, pohledy, sloupce, funkce, indexy), se nastavuje v Nastavení > Automatické doplňování.

Upozorňujeme, že u jiných databázových systémů než PostgreSQL funguje automatické doplňování pouze pro sloupce tabulek.