Handling SQL Errors: A Preview
Handling SQL Errors A Preview
Error handling in MySQL stored programs is such an important and complex topic that we have dedicated an entire chapterChapter 6to this topic. However, let's provide a quick summary here.
By default, if a SQL statement within a stored program generates an error, the stored program will cease execution and the error will be returned to the calling program. If you don't want this to happen, you must specify an error handler using the following syntax:
DECLARE {CONTINUE | EXIT} HANDLER FOR {SQLSTATE sqlstate_code| MySQL error code| condition_name} stored_program_statement
The handler nominates an error conditionusing a MySQL error code, an ANSI-standard SQLSTATE, or a named conditionand describes what is to happen if the error is encountered. The handler can do one of two things:
- Allow execution to CONTINUE.
- Immediately exit the block or stored program containing the handler.
The handler specifies stored program statements that will be executed when the handler is activated. These statements often set a status variable that could be checked within the main line of the program but that could also specify a BEGIN-END block containing many lines of code.
We have already looked at the use of handlers in determining when a cursor has returned the last row of its result set (see "Fetching an Entire Result Set" earlier in this chapter).
We discuss handlers in depth in the next chapter.