Sobes.tech
Middle

Quais são as formas de enumerar parâmetros em SQL?

sobes.tech IA

Resposta da IA

Existem várias formas de enumerar os parâmetros em consultas SQL, que ajudam a prevenir injeções SQL e melhorar a legibilidade:

  1. Parâmetros posicionais: Os parâmetros são definidos com um marcador de posição (frequentemente ? ou $N) e são passados para a função de execução da consulta numa ordem específica.

    SELECT * FROM users WHERE id = ? AND status = ?;  
    

    Ao executar: os parâmetros são passados num array ou lista na mesma ordem que os sinais de interrogação.

  2. Parâmetros nomeados: Os parâmetros são definidos com um prefixo (frequentemente : ou @) seguido do nome do parâmetro.

    SELECT * FROM products WHERE category = :category_name AND price > :min_price;  
    

    Ao executar: os parâmetros são passados como um dicionário ou mapa, onde a chave é o nome do parâmetro e o valor é o seu valor.

  3. Parâmetros compostos (algumas SGBD e ORM): Permitem passar estruturas de dados ou objetos como um único parâmetro. Isto é menos universal e depende da implementação específica. Por exemplo, no PostgreSQL, pode-se usar JSON.

    SELECT * FROM orders WHERE details @> ?;  -- details é um campo do tipo JSONB  
    

    Ao executar: passa-se uma string JSON ou objeto que o SGBD pode interpretar.

A escolha do método depende do SGBD, do driver/ORM e das preferências pessoais. Os métodos mais comuns são os parâmetros posicionais e nomeados. O uso de consultas parametrizadas é uma prática padrão para trabalhar de forma segura com bases de dados.