Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mysql secara dinamis membangun string kueri dalam prosedur tersimpan berdasarkan logika

Solusinya adalah dengan menggunakan execute, dan concat:

CREATE DEFINER=`root`@`localhost` PROCEDURE `test`(input VARCHAR(15))
BEGIN
SET @input = input;

if @input="asc" then
    SET @sort = " order by ActivityLogKey asc";
elseif @input = "desc" then
    SET @sort = " order by ActivityLogKey desc";
else
    SET @sort ="";
end if;

SET @query = CONCAT('select * from activitylog ',@sort,' limit 0, 5');

PREPARE stmt FROM @query;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

END



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menyimpan nilai kosong sebagai Integerfield

  2. Kesalahan saat menjalankan pernyataan pembaruan Mariadb

  3. MySQL – MariaDB – Menulis Prosedur Tersimpan Pertama

  4. Apakah MySQL mendukung tipe data yang ditentukan pengguna?

  5. Deteksi nilai duplikat di masa mendatang saat mengulangi hasil MySQL di PHP