2014-01-05 105 views
0

我正在編寫一個MYSQL存儲過程。在這我知道使用HANDLER我們可以檢查SELECT STATEMENT的條件。mysql查詢返回碼

DECLARE CONTINUE HANDLER FOR NOT FOUND 
SET NO_MORE_ROWS = TRUE; 

在DB2中,我們可以在語句後立即使用SQLCODE檢查返回碼。

請讓我知道我需要如何處理重複索引,多行,光標問題,Source變量中的數據不匹配與表字段。在MYSQL中有沒有辦法?

基本上我想知道在MYSQL中如何處理下面的情況。

SELECT - NOT FOUND, MORE THAN ONE ROW, EXCEPTION, DATATYPE MISMATCH IN TO CONDITION 
    INSERT - DUPLICATE INDEX, DATATYPE MISMATCH, OTHER INERT FAILURE 
    UPDATE - NO DATA FOR UPDATE, UPDATE WHERE CONDITION NOT MET 
    DELETE - NOT DELETED BECAUSE OF FOREIGN KEY ISSUE. 
    CURSOR - CURSOR FAILURE 

謝謝。

回答

0

作爲DECLARE ... HANDLER Syntax下記載:

condition_valueDECLARE ... HANDLER表明激活處理程序中的特定條件或類的條件:

  • 甲MySQL錯誤代碼(數字)或一個SQLSTATE值(一個5個字符的字符串文字)。您不應使用MySQL錯誤代碼0或以'00'開頭的SQLSTATE值,因爲這些值指示成功而非錯誤條件。有關MySQL錯誤代碼和SQLSTATE值的列表,請參閱Section C.3, 「Server Error Codes and Messages」