1
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
これは私のmysqlクエリ(手順)です。それは#1054エラーが発生しました。私はmysqlのプロシージャを呼び出すとき
ただし、プロシージャを呼び出すと、エラーが発生します。
MySQLのメッセージ:#1054 - 'フィールドリスト' 内の不明な列 'v_error_flag'
文がエラーを発生した場合、私は思います。
IF v_error_flag < 0 THEN
しかし、私はそれをどのように修正できるかわかりません。
答えていただきありがとうございます。今、私の手技がなぜ機能しなかったのか理解しています。 :) – YouHoGeon