Mysql
 sql >> база данни >  >> RDS >> Mysql

Съхранена процедура с незадължителни параметри WHERE

Един от най-лесните начини да постигнете това:

SELECT * FROM table 
WHERE ((@status_id is null) or (status_id = @status_id))
and ((@date is null) or ([date] = @date))
and ((@other_parameter is null) or (other_parameter = @other_parameter))

и т.н. Това напълно елиминира динамичния sql и ви позволява да търсите в едно или повече полета. Чрез елиминиране на динамичния sql премахвате още един проблем със сигурността по отношение на sql инжектирането.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да добавя индекси към MySQL таблици?

  2. Възможно ли е да се изпълни низ в MySQL?

  3. Мигриране на база данни на Oracle към MySQL на AWS, част 1

  4. Как лесно да направите прост CRUD, използвайки PHP и MySQL

  5. Предупреждение:mysql_connect():[2002] Няма такъв файл или директория (опитва се да се свърже чрез unix:///tmp/mysql.sock) в