Код ошибки в процедуре MySQL
Мы столкнулись с небольшой проблемой в процедуре MySQL. Мы поместили некоторые обработчики исключений в процедуру. Но мы хотим получить код ошибки любой ошибки, которая может возникнуть внутри процедуры. Есть ли способ получить точный код ошибки, используя какую-то функцию (таким же образом мы используем WSAGetLastError в API сокетов)?
например, предположим, что внутри процедуры есть запрос выбора, который ссылается на несуществующую таблицу. В этом случае будет сгенерирована ошибка ("таблица" не существует). Элемент управления будет передан обработчикам исключений, но без какой-либо значимой информации. в этом случае мы можем обработать его, используя точный код ошибки (1146). но что, если ошибка - что-то еще, что мы не упомянули в обработчике исключений? мы хотим получить код ошибки в этом случае для проверки позже. есть запрос SHOW ERRORS, но как использовать его в процедуре обработки? Я надеюсь, что это более понятно.
Я нашел вопрос здесь также: http://www.eggheadcafe.com/software/aspnet/35923137/show-errors-question.aspx но никто еще не ответил.
1 ответ
В настоящее время нет способа проверить текущий код ошибки MYSQL или код SQLSTATE в процедуре сохранения. Это SQL:2003 Функции, которые в настоящее время не реализованы в хранимой программе MYSQL.
Вы должны проверить это: http://www.docstoc.com/docs/687360/Error-Handling-In-Stored-Procedure