Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Obsługiwany jest wyjątek dostępu do procedury obsługi wyjątków MySQL

Wygląda na to, że RESIGNAL jest tym, czego szukasz.

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. Dostęp do danych z serwletu

  2. Jak przekonwertować BLOB na VARCHAR w MySQL?

  3. Sprawdzasz tabelę pod kątem nakładania się czasu?

  4. MySQL ORDER BY [niestandardowa wartość pola SET]

  5. Zmienna zdefiniowana przez użytkownika SET w mysql zwraca null?