DELIMITER //
CREATE PROCEDURE 'execute_transaction'(IN sql_text VARCHAR(8000))
BEGIN
DECLARE EXIT HANDLER FOR SQLEXCEPTION
BEGIN
Rollback;
SELECT CONCAT(sql_text, 'is not valid');
END;
SET autocommit = 0;
SET TRANSACTION ISOLATION LEVEL Serializable;
START TRANSACTION;
select * from customer where customer_id='A';
select * from customer where customer_id='B';
update customer set Name='alireza mohammadi' where customer_id='B';
IF(@@session.error_count>0) THEN
Rollback;
ELSE
COMMIT;
END IF;
END;
//
Ошибка:
Код ошибки: 1064. У вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с '' execute_transaction '(IN sql_text VARCHAR (8000)) BEGIN DECLARE EXIT HANDLER F' в строке 1