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

Menggunakan variabel sebagai OFFSET dalam pernyataan SELECT di dalam fungsi tersimpan mysql

Di MySQL sebelum 5.5, Anda tidak dapat memasukkan variabel ke dalam LIMIT klausa dalam prosedur tersimpan MySQL. Anda harus menginterpolasinya menjadi string dan kemudian mengeksekusi string tersebut sebagai kueri dinamis.

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. Apakah `definer` diperlukan saat membuat prosedur tersimpan?

  2. GALAT 1054 (42S22):Kolom '‍‍' tidak diketahui di 'daftar bidang'

  3. Pohon menu gema dengan fungsi rekursif

  4. Cara menghasilkan grafik dan bagan dari database mysql di php

  5. Mencocokkan catatan dari dua tabel