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:
-
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.
-
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.
-
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 JSONBAo 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.