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

Prosedur tersimpan MySQL yang menerima string dengan banyak parameter

Anda perlu mengubah ukuran VARCHAR ke nilai maksimumnya (atau nilai signifikan yang lebih rendah).

DELIMITER //
CREATE PROCEDURE deleteObjectTypes(IN p_type VARCHAR(65535))
BEGIN
    SET @query = CONCAT ('DELETE FROM object WHERE Type NOT IN (',p_type,')');
    PREPARE stmt FROM @query;
    EXECUTE stmt;
    DEALLOCATE PREPARE stmt;
END //
DELIMITER ;

Namun, perhatikan bahwa batasnya lebih rendah jika Anda menggunakan kumpulan karakter multi-byte:

VARCHAR(21844) CHARACTER SET utf8

Seperti yang terlihat di sini .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kinerja MySQL - IN Clause vs. Equals (=) untuk Nilai Tunggal

  2. Mengapa sesi panggilan tidak berfungsi? (penyala kode 3)

  3. MySQL menambahkan kolom NOT NULL

  4. Cawan suci membersihkan input dan output di php?

  5. Alat Visualisasi MySQL