Код ошибки в процедуре MySQL - PullRequest
       29

Код ошибки в процедуре MySQL

1 голос
/ 01 декабря 2010

Мы столкнулись с небольшой проблемой в процедуре MySQL. Мы поместили некоторые обработчики исключений в процедуру. Но мы хотим получить код ошибки любой ошибки, которая может возникнуть внутри процедуры. Есть ли способ получить точный код ошибки, используя какую-то функцию (таким же образом мы используем WSAGetLastError в API сокетов)?

Например, предположим, что внутри процедуры есть запрос выбора, который ссылается на несуществующую таблицу. В этом случае будет сгенерирована ошибка («таблица» не существует). Элемент управления будет передан обработчикам исключений, но без какой-либо значимой информации. в этом случае мы можем обработать его, используя точный код ошибки (1146). но что, если ошибка - что-то еще, что мы не упомянули в обработчике исключений? мы хотим получить код ошибки в этом случае для проверки позже. есть запрос SHOW ERRORS, но как использовать его в процедуре обработки? Я надеюсь, что это более понятно.

я также нашел вопрос здесь: http://www.eggheadcafe.com/software/aspnet/35923137/show-errors-question.aspx но никто еще не ответил.

1 Ответ

0 голосов
/ 01 декабря 2010

В настоящее время нет способа проверить текущий код ошибки MYSQL или код SQLSTATE в процедуре хранения. Это SQL: 2003 Особенности , который в настоящее время не реализован в хранимой программе MYSQL.

Вы должны проверить это: http://www.docstoc.com/docs/687360/Error-Handling-In-Stored-Procedure

...