Práce s databázovými dotazy ve skriptu

Hlavní stránka / Podpora / Příručky / Příručka administrátora / Návrhář skriptů /

Práce s databázovými dotazy ve skriptu

Co je databázový dotaz ve skriptu

  • Databázový dotaz je samostatný konfigurovatelný objekt aplikace, definovaný mimo skript.
  • Skript databázový dotaz pouze používá, nikoliv definuje.
  • Databázový dotaz ve skriptu neurčuje, jak se data vybírají, ale jak se s vybranými daty dále pracuje.
  • Databázový dotaz není SQL příkaz psaný ve skriptu.

Načtení hodnot z databázového dotazu

  • Skript může z databázového dotazu načíst jednu nebo více hodnot.
  • Načtením hodnot z dotazu vznikají skriptové proměnné.
  • Datový typ proměnné se automaticky převezme z databázového sloupce.
  • Pokud databázový dotaz vrací více záznamů, proměnná se stává polem hodnot.
  • Pokud databázový dotaz nevrátí žádný záznam, proměnná se stává polem s nulovým počtem prvků.

Načtení jedné hodnoty

  • Při načtení jedné hodnoty z databázového dotazu se použije první záznam výsledné množiny.
  • Ostatní záznamy jsou ignorovány.
  • Tento způsob je vhodný pro dotazy, které logicky vrací právě jednu hodnotu (např. součet, minimum, maximum).

Načtení více hodnot

  • Při načtení více hodnot z databázového dotazu se načítají všechny řádky výsledné množiny.
  • Každý načtený sloupec se uloží do samostatné proměnné.
  • Všechny proměnné mají stejný počet prvků a jsou navzájem synchronizované.

Databázový dotaz a cyklus

  • Databázový dotaz se velmi často používá ve spojení se skriptovým příkazem „Cyklus“.
  • Cyklus prochází jednotlivé prvky proměnných načtených z databázového dotazu.
  • V každé iteraci cyklu se proměnné chovají jako jednoprvkové.
  • Po ukončení cyklu se proměnné opět chovají jako pole hodnot.
  • Jako řídící proměnná cyklu se doporučuje použít primární klíč „id“.

Uložení hodnot zpět do databáze

  • Hodnoty načtené z databázového dotazu je možné uložit zpět do databáze.
  • Ukládání probíhá vždy na základě databázového dotazu, který určuje cílové záznamy.
  • Pokud databázový dotaz odpovídá více záznamům, uložená hodnota se zapíše do všech těchto záznamů.

Typické scénáře použití

  • Načtení hodnot z databáze do proměnných a jejich další zpracování.
  • Hromadná úprava databázových záznamů pomocí cyklu.
  • Vytváření nových záznamů na základě hodnot z jiných databázových tabulek.

Typické chyby při práci s dotazy

  • Očekávání jedné hodnoty, zatímco dotaz vrací více záznamů.
  • Zapomenutí použít cyklus při práci s polem hodnot.
  • Nejednoznačný databázový dotaz bez omezujících podmínek.
  • Neuvážené použití dotazu s velkým množstvím záznamů.