在MySQL中,我們如何在處理錯誤的同時宣告一個處理器(handler)?


透過丟擲適當的錯誤訊息來處理錯誤非常重要。MySQL 提供了一個處理器來處理錯誤。我們可以使用以下語法宣告一個處理器:

處理器語法

DECLARE handler_action FOR condition_value statement;

上述語法顯示我們需要使用 DECLARE HANDLER 語句來宣告一個處理器。如果條件值與 condition_value 匹配,則 MySQL 將執行語句並根據 action 繼續或退出當前程式碼塊。以下是上述語法中的三個主要部分:

  • Handler_action 有兩種型別,可以接受以下值之一:

    • CONTINUE - 如果 handler_action 為 'CONTINUE',則繼續執行包含程式碼塊。
    • EXIT - 如果 handler_action 為 'EXIT',則終止包含程式碼塊的執行。
  • Condition_value 指定啟用處理器的特定條件或條件類。它可以接受以下值之一:

    • ERROR CODE - condition_value 可以是 MySQL 錯誤程式碼。
    • SQLSTATE - condition_value 也可以是 SQLSTATE。
    • SQLWARNING - condition_value 也可以是 SQLWARNING。
    • NOTFOUND - condition_value 也可以是 NOTFOUND。
    • SQLEXCEPTION - condition_value 也可以是 SQLEXCEPTION。
  • Statement 可以是簡單的語句,也可以是由 BEGIN 和 END 關鍵字括起來的複合語句。

示例

DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET got_error = 1;

在上面的例子中,處理器意味著如果發生錯誤,則將 got_error 變數的值設定為 10 並繼續執行。

更新於:2020年6月22日

516 次瀏覽

開啟你的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.