Mysql
 sql >> база данни >  >> RDS >> Mysql

Обработва се изключение за достъп до обработчика на изключения в MySQL

Изглежда като RESIGNAL е това, което търсите.

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. Задайте стойност AUTO_INCREMENT чрез променлива в MySql

  2. Как да вмъкна специални символи в база данни?

  3. Как да промените пътя на mysql услугите

  4. Как да конвертирам времеви отпечатък в дата и час в MySQL?

  5. Актуализирайте изявлението в MySQL с помощта на C#