Limitations of exception handling
The PL feature of seekdb has usage limitations when handling exceptions.
The PL feature of seekdb has the following usage limitations when handling exceptions:
-
SIGNAL,RESIGNAL, andGET DIAGNOSTICScannot be used in prepared statements. The following example is invalid:PREPARE stmt1 FROM 'SIGNAL SQLSTATE "42000"'; -
SQLSTATEvalues of class '04' are not specially handled and are treated the same as other exceptions. -
In standard SQL, the first condition should be related to the
SQLSTATEvalue returned by the previous SQL statement, but this is not always guaranteed. Therefore, the following statement cannot be used to obtain the main error information:GET DIAGNOSTICS CONDITION 1 @err_no = MYSQL_ERRNO;Instead, the following method is recommended:
GET DIAGNOSTICS @count_no = NUMBER;
GET DIAGNOSTICS CONDITION @count_no @err_no = MYSQL_ERRNO;