CREATE PROCEDURE test_proc (in name varchar(100),out return_msg varchar(3000))
BEGIN
BEGIN
DECLARE v_return_msg VARCHAR(3000); -- return message
DECLARE v_error_flag INT DEFAULT 0;
DECLARE EXIT HANDLER FOR SQLEXCEPTION SET v_error_flag = -1;
START TRANSACTION;
INSERT INTO `tablename` (name, value) VALUES (name, 'Test2');
END;
IF v_error_flag < 0 THEN
ROLLBACK;
CALL DBMS_OUTPUT.PUT_LINE('Error : ' || mysql_error );
SELECT * FROM INSERT_INFO; -- UPDATE_TABLE_USED
SHOW ERRORS;
ELSE
COMMIT;
CALL DBMS_OUTPUT.PUT_LINE('Sucess : ' || sqlerrm );
SELECT 'Process succeed!!!';
END IF;
END
This is my mysql query(procedure).
However, When I CALL my procedure, It occurs error.
MySQL Message: #1054 - Unknown column 'v_error_flag' in 'field list'
I think IF statement occur error.
IF v_error_flag < 0 THEN
However, I don't know how can I fix it.