Parametrizácia SQL príkazov a výrazov znamená symbolické zadanie hodnôt v SQL príkazoch a výrazoch a neskoršie naplnenie parametrov konkrétnymi hodnotami.
Príklad parametrizovaného výrazu: " Id= #PAR# AND NAME LIKE #PAR# "
Príklad parametrizovaného príkazu: "SELECT Name, Surname FROM Persons WHERE Id= #PAR# AND Name LIKE #PAR# "

Existujú 3 spôsoby špecifikácie parametrov použiteľné v množine akcií procesu D2000 DBManager:

Parametrizáciu môže použiť v SQL výraze vybraná množina akcií pracujúcich s databázou. Jedná sa o akcie:

Pokiaľ je SQL výraz parametrizovaný, akcia musí použiť kľúčové slovo BINDIN a za ním jedno z nasledujúcich:

Hodnoty parametrov sa nastavia podľa hodnôt uvedených za kľúčovým slovom BINDIN.

Parametrizáciu podporuje aj akcia SQL_PREPARE, ale v tomto prípade nie je zoznam hodnôt parametrov súčasťou akcie. Uvedením kľúčového slova BINDOUT (namiesto BIND) sa špecifikuje, že SQL príkaz je parametrizovaný a následne sa volaním akcie SQL_BINDIN nastavia hodnoty parametrov. Výhodou je, že pre získanie výsledkov s inými hodnotami parametrov nie je potrebné znovu volať SQL_PREPARE, ale stačí zopakovať SQL_BINDIN s novými hodnotami a následne je možné volať SQL_FETCH na získanie výsledkov.

Zmyslom parametrizácie je zrýchliť a uľahčiť prácu SQL databázy. Pri vyhodnocovaní SQL príkazu dochádza k jeho parsovaní a kompilácii. Pokiaľ sa použije viackrát ten istý SQL príkaz, SQL databáza môže recyklovať už parsovaný a skompilovaný príkaz. Parametrizáciou možno napr. príkazy:
"SELECT Name FROM Person WHERE Id=1"
"SELECT Name FROM Person WHERE Id=5"
"SELECT Name FROM Person WHERE Id=100"
nahradiť jediným príkazom
"SELECT Name FROM Person WHERE Id= #PAR#"
a teda miesto troch SQL príkazov bude databáza parsovať a kompilovať iba jeden (a pri druhom a ďalších vykonávaniach ho môže recyklovať).

Pokiaľ sa použije parametrizácia pri volaní SQL_PREPARE a nastavenie parametrov viacnásobnou akciou SQL_BINDIN, je zaručené, že parsovanie a kompilácia SQL príkazu prebehne iba raz (pri volaní SQL_PREPARE).
Pokiaľ sa použije parametrizácia pri volaniach akcií DB(S)_DELETE, DB(S)_READ alebo DB(S)_UPDATE, je vhodné upraviť parametre databázy (napr. Oracle: session_cached_cursors), aby táto uchovávala (cachovala) dostatočné množstvo skompilovaných príkazov (kurzorov), aby medzi volaniami DB(S)_* príkazov zostali v kurzorovej cache.

Súvisiace odkazy:

DB_DELETE
DB_READ
DB_UPDATE

SQL_PREPARE
SQL_BINDIN
SQL_FETCH
SQL_FREE

Všetky databázové akcie