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

Pengecualian akses penangan pengecualian MySQL sedang ditangani

Sepertinya RESIGNAL adalah apa yang Anda cari.

DELIMITER $$

DROP PROCEDURE IF EXISTS `test`.`resig` $$
CREATE PROCEDURE `test`.`resig` ()
BEGIN

DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
  SELECT 'I executed something before throwing the error' as `this_works`;
  RESIGNAL;
END;

SELECT foo FROM bar WHERE baz = 0;

END $$

DELIMITER ;


mysql> call resig();
+------------------------------------------------+
| this_works                                     |
+------------------------------------------------+
| I executed something before throwing the error |
+------------------------------------------------+
1 row in set (0.00 sec)

ERROR 1054 (42S22): Unknown column 'foo' in 'field list'

mysql>



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Doktrin - subquery masuk dari

  2. Apakah ada peningkatan kinerja dalam mengindeks bidang boolean?

  3. PHP membutuhkan waktu 90x lebih lama untuk menjalankan kueri daripada klien MySQL

  4. Bagaimana cara menggabungkan dua database, dengan data yang sama, tetapi dengan PK yang berbeda, tanpa bidang yang diduplikasi?

  5. Struktur/Desain Basis Data