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

Как да използвам Mysql променливи с Hibernate?

Е, накрая използвам съхранена процедура (да, това, което не искам първоначално), за да създам динамична заявка (не мисля, че е възможно).

Ето моя код:Съхранената процедура:

DELIMITER |

DROP PROCEDURE IF EXISTS UpdateRank |

CREATE PROCEDURE UpdateRank(IN shortcut varchar(30))
BEGIN
    SET @rank=0;
    SET @query=CONCAT('UPDATE Rank SET ', shortcut, '[email protected]:[email protected]+1 ORDER BY ', shortcut);     

    PREPARE q1 FROM @query;
    EXECUTE q1;
    DEALLOCATE PREPARE q1;
END;

|
DELIMITER ;

Съветът е използването на функцията CONCAT за динамично създаване на заявка в съхранената процедура.

След това извикайте процедурата в класическата функция за хибернация:

Query q = em.createNativeQuery("CALL updateRank('lvl')");
q.executeUpdate();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. json_encode не връща нищо

  2. Изтриване от MySQL таблица с ограничения на външния ключ

  3. Как да направя връзката си с базата данни сигурна?

  4. Структура на папките за съхранение на милиони изображения?

  5. Изберете MySQL база данни на Linux чрез командния ред