Handling SQL Errors: A Preview
Error handling in MySQL stored programs is such an important and complex topic that we have dedicated an entire chapter—Chapter 6—to 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 {SQLSTATEsqlstate_code
|MySQL error code
|condition_name
}stored_program_statement
The handler nominates an error condition—using a MySQL error
code, an ANSI-standard SQLSTATE
, or
a named condition—and 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.
Get MySQL Stored Procedure Programming now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.