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ů.