sql >> Database teknologi >  >> RDS >> Mysql

MySQL undtagelseshåndteringsadgangsundtagelse håndteres

Det ligner RESIGNAL er det, du leder efter.

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. Hvorfor gik min MySQL-database ned? Få indsigt med den nye MySQL Freeze Frame

  2. Automatisk stigning på delvis primær nøgle med Entity Framework Core

  3. Sådan får du dagen fra en date i T-SQL

  4. MySQL-opdateringserklæring til at gemme rangordnede positioner