Computer >> Máy Tính >  >> Lập trình >> MySQL

Trong MySQL, làm thế nào chúng ta có thể khai báo một trình xử lý trong khi xử lý lỗi?


Việc xử lý lỗi bằng cách đưa ra thông báo lỗi thích hợp là rất quan trọng. MySQL cung cấp một trình xử lý để xử lý lỗi. Chúng ta có thể khai báo một trình xử lý với sự trợ giúp của cú pháp sau -

Cú pháp của trình xử lý

DECLARE handler_action FOR condition_value statement;

Cú pháp trên cho thấy rằng chúng ta cần sử dụng câu lệnh DECLARE HANDLER để khai báo một trình xử lý. Nếu một điều kiện có giá trị khớp với giá trị điều kiện thì MySQL sẽ thực thi câu lệnh và tiếp tục hoặc thoát khỏi khối mã hiện tại dựa trên hành động. Tiếp theo là ba điều chính trong cú pháp trên -

  • Handler_action có hai loại và có thể chấp nhận một trong các giá trị sau -

    • TIẾP TỤC - Nếu handler_action là "CONTINUE" thì việc thực thi khối mã bao quanh vẫn tiếp tục.
    • EXIT - Nếu handler_action là 'EXIT' thì việc thực thi khối mã bao quanh sẽ kết thúc.
  • Condition_value chỉ định một điều kiện cụ thể hoặc loại điều kiện kích hoạt trình xử lý. Nó có thể chấp nhận một trong các giá trị sau -

    • MÃ LỖI - Giá trị điều kiện có thể là một mã lỗi MySQL.
    • SQLSTATE - Giá trị điều kiện cũng có thể là SQLSTATE.
    • SQLWARNING - Giá trị điều kiện cũng có thể là một SQLWARNING.
    • NOTFOUND - Giá_trị_điều kiện cũng có thể là một NOTFOUND.
    • SQLEXCEPTION - Giá trị điều kiện cũng có thể là một SQLEXCEPTION.
  • Tuyên bố có thể là một câu lệnh đơn giản hoặc câu lệnh ghép bao quanh bởi các từ khóa BEGIN và END.

Ví dụ

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error = 1;

Trong ví dụ trên, một trình xử lý có nghĩa là nếu lỗi xảy ra thì hãy đặt giá trị của biến got_error thành 10 và tiếp tục thực thi.