Aké sú spôsoby vypisovania parametrov v SQL?
sobes.tech AI
Odpoveď od AI
Existuje niekoľko spôsobov, ako uviesť parametre v SQL dopytoch, ktoré pomáhajú predchádzať SQL injekciám a zlepšujú čitateľnosť:
-
Pozíciové parametre: Parametre sú definované zástupným znakom (často
?alebo$N) a sú odovzdávané funkcii na vykonanie dopytu v určitej poradí.SELECT * FROM users WHERE id = ? AND status = ?;Pri vykonávaní: parametre sú odovzdávané ako pole alebo zoznam v rovnakom poradí ako otázniky.
-
Meno-označené parametre: Parametre sú definované s prefixom (často
:alebo@) nasledovaným názvom parametra.SELECT * FROM products WHERE category = :category_name AND price > :min_price;Pri vykonávaní: parametre sú odovzdávané ako slovník alebo mapa, kde kľúč je názov parametra a hodnota je jeho hodnota.
-
Zložené parametre (niektoré SGBD a ORM): Umožňujú odovzdanie štruktúr dát alebo objektov ako jeden parameter. Toto je menej univerzálne a závisí od konkrétnej implementácie. Napríklad v PostgreSQL možno použiť JSON.
SELECT * FROM orders WHERE details @> ?; -- details je pole typu JSONBPri vykonávaní: odovzdáva sa JSON reťazec alebo objekt, ktorý SGBD môže interpretovať.
Výber spôsobu závisí od používaného SGBD, ovládača/ORM a osobných preferencií. Najbežnejšie metódy sú pozíciové a meno-označené parametre. Použitie parametrizovaných dopytov je štandardná prax pre bezpečnú prácu s databázami.