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

Używanie zmiennych jako OFFSET w instrukcjach SELECT wewnątrz funkcji składowanych mysql

W MySQL przed wersją 5.5 nie można umieścić zmiennej w LIMIT klauzula w procedurach składowanych MySQL. Musisz interpolować go do ciągu, a następnie wykonać ciąg jako dynamiczne zapytanie.

SET rand_offset = FLOOR(RAND() * (SELECT COUNT(*) FROM all_words));
SET @sql = CONCAT('SELECT word INTO str_rnd_word FROM all_words LIMIT 1 OFFSET ', rand_offset);
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Żadne operacje nie są dozwolone po zamknięciu połączenia MYSQL

  2. Jak wstawić wiele wartości pola tekstowego w jednym polu o różnym identyfikatorze?

  3. Czy dobrze jest użyć htmlspecialchars() przed wstawieniem do MySQL?

  4. cc1:błąd:nierozpoznana opcja wiersza poleceń -Wno-null-conversion podczas instalacji python-mysql na mac 10.7.5

  5. Niestandardowe ZAMÓWIENIE BY, aby zignorować „the”