Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Procedura zapisana z opcjonalnymi parametrami WHERE

Jeden z najłatwiejszych sposobów na osiągnięcie tego:

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))

itp. To całkowicie eliminuje dynamiczny sql i umożliwia wyszukiwanie w jednym lub kilku polach. Eliminując dynamiczny sql, usuwasz kolejny problem dotyczący bezpieczeństwa związany z wstrzykiwaniem 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. Jak zresetować hasło roota mysql?

  2. Mieszanie sprzężeń ANSI 1992 i przecinków w zapytaniu

  3. SYSDATE() Przykłady – MySQL

  4. Jak zaimportować plik Excela do bazy danych MySQL

  5. Najlepsze praktyki tworzenia kopii zapasowych dla MySQL, MariaDB i Galera Cluster