Čítanie databázy SQL príkazom
SELECT je implementované v dvoch alebo troch fázach.
Prvú (prípravnú) fázu vykoná akcia
SQL_PREPARE. Nad databázou
pripraví (a pokiaľ nie je použité kľúčové slovo
BINDOUT, aj vykoná) príkaz
SELECT.
Ak bolo použité kľúčové slovo
BINDOUT znamenajúce, že SQL príkaz bol
parametrizovaný,
je potrebná druhá fáza - volaním akcie
SQL_BINDIN je nutné nastaviť hodnoty vstupných parametrov a následne výraz vykonať.
Posledná fáza je postupné čítanie riadkov, ktoré pripravil príkaz
SELECT akciou
SQL_FETCH.
Poznámka: Použitím
parametrizácie je možné uľahčiť prácu SQL databáze, pretože príprava (kompilácia)
parametrizovaného SQL výrazu sa vykoná iba raz (v rámci akcie
SQL_PREPARE). Následne je nutné nastaviť
parametre akciou
SQL_BINDIN (ktorá SQL príkaz aj vykoná) a jeden alebo viackrát volať
SQL_FETCH
na získanie výsledkov. Potom je možné nastaviť nové hodnoty parametrov a znovu vykonať SQL príkaz opätovným volaním
SQL_BINDIN a získať nové výsledky volaním
SQL_FETCH.
Vhodným nastavením parametrov databázy (napr. Oracle:
session_cached_cursors) je možné zabezpečiť recyklovanie
kurzorov (skompilovaných príkazov) medzi volaniami
SQL_PREPARE.
Pridať komentár