точке сохранения:
DELIMITER $$
DROP PROCEDURE ЕСЛИ СУЩЕСТВУЕТ `test`.`handlerdemo`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `handlerdemo`()
BEGIN
DECLARE X2 INT;
ОБЪЯВИТЬ ОБРАБОТЧИК ПРОДОЛЖЕНИЯ ДЛЯ SQLWARNING SET X2= 1;
ОБЪЯВИТЬ ОБРАБОТЧИК ПРОДОЛЖЕНИЯ ДЛЯ НЕ НАЙДЕННОГО НАБОРА X2 = 2;
ОБЪЯВИТЬ ОБРАБОТЧИК ПРОДОЛЖЕНИЯ ДЛЯ SQLSTATE '23000' SET X2= 3;
ОБЪЯВИТЬ ОБРАБОТЧИК ПРОДОЛЖЕНИЯ ДЛЯ НАБОРА ИСКЛЮЧЕНИЙ SQL X2 = 4;
НАЧАТЬ СДЕЛКУ;
ТОЧКА СОХРАНЕНИЯ savepoint_1;
НАЧАТЬ
ВСТАВКУ В Юджин ЦЕННОСТИ (1);
ВСТАВИТЬ В Юджин ЦЕННОСТИ (2);
ВЫБЕРИТЕ X2;
конец;
ОТКАТ ДО ТОЧКИ СОХРАНЕНИЯ savepoint_1;
ВСТАВИТЬ В Юджин ЦЕННОСТИ (3);
КОНЕЦ$$
РАЗДЕЛИТЕЛЬ ;
#测试表
CREATE TABLE `eugene` (
t1` int(4) default NULL
)