Sobes.tech
Middle

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ť:

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

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

  3. 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 JSONB  
    

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