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

Jalankan beberapa kueri yang dipisahkan titik koma menggunakan Pernyataan yang Disiapkan mysql

Tidak, itu tidak mungkin. PREPARE / EXECUTE stmt hanya dapat mengeksekusi satu kueri pada satu waktu, banyak pernyataan tidak dapat digabungkan.
Lihat dokumentasi:http://dev.mysql. com/doc/refman/5.0/en/prepare.html

Bagaimanapun, untuk menyederhanakan kode Anda, saya akan membuat prosedur sederhana:

CREATE PROCEDURE exec_qry( p_sql varchar(100))
BEGIN
  SET @tquery = p_sql;
  PREPARE stmt FROM @tquery;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;
END 
/

dan saya akan memanggil prosedur ini dalam prosedur utama, dengan cara ini:

CALL exec_qry( 'CREATE TABLE t2 AS SELECT * FROM test');
CALL exec_qry( 'SELECT * FROM t2');
CALL exec_qry( 'SELECT count(*) FROM t2');
CALL exec_qry( 'SELECT avg(x) FROM t2');
CALL exec_qry( 'DROP TABLE t2');

Lihat demonya:http://www.sqlfiddle.com/#! 2/6649a/6




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Butuh bantuan dengan SQL yang benar

  2. Konvensi penamaan PHP/MySQL:camelCase vs under_score?

  3. Dapatkan Hitungan Multi Kolom dalam Permintaan Tunggal

  4. Menggabungkan hasil dari dua kueri MySQL yang terpisah

  5. Bagaimana cara menggunakan VBA untuk meratakan tabel di Excel di mana data dibagi antar baris?