Ví dụ handler dùng SQLSTATE (mã lỗi 1062 - duplicate key) kiểu EXIT:
mysql> DELIMITER //
mysql> CREATE PROCEDURE Insert_Studentdetails4(
S_Studentid INT, S_StudentName VARCHAR(20), S_Address VARCHAR(20), OUT got_error INT)
-> BEGIN
-> DECLARE EXIT HANDLER FOR 1062 SET got_error=1;
-> INSERT INTO Student_detail (Studentid, StudentName, Address)
-> VALUES(S_Studentid, S_StudentName, S_Address);
-> SELECT * FROM Student_detail;
-> END //
Query OK, 0 rows affected (0.00 sec)
Thử chèn khóa trùng (id=104):
mysql> DELIMITER ; mysql> CALL Insert_Studentdetails4(104,'Ram','Chandigarh',@got_error); Query OK, 0 rows affected (0.00 sec) mysql> SELECT @got_error; +------------+ | @got_error | +------------+ | 1 | +------------+
Thực thi kết thúc ngay (không chạy SELECT *), báo lỗi 1062 mặc định, gán got_error=1.