|
экспертиза по HANDLER
|
|||
---|---|---|---|
#18+
Приветствую всех! Поставлена задача по написанию процедуры, которая должна на выходе получать значение параметра P_RES: 0 - ошибка в процессе выполнения процедуры; 1 - товар обновлен; 2 - товар создан. Для решения задачи добавил обработчик ошибок (DECLARE EXIT HANDLER FOR...). Процедура: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.
Проблематика: - при выполнении процедуры с неправильными значениями параметров (например, с неверным значением P_ID_PRODUCER) не удается получить в ответе значение P_RES = 0. Получаю сообщение с ошибкой: Код: plaintext 1.
Вопрос: Как заставить работать обработчик ошибок, чтобы получать в ответ не сообщение с ошибкой, а значение 0 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.02.2016, 18:29 |
|
экспертиза по HANDLER
|
|||
---|---|---|---|
#18+
Проблема найдена и заключается в ошибке работы HANDLER внутри MySQL (замечалась на версии mysql 5.6. у хостинг-провайдера) - отловить данный хендлер нельзя. Начиная с версии MySQL 5.7.2 данная ошибка устранена https://bugs.mysql.com/bug.php?id=68831. Поставил mysql 5.7.11 и HANDLER отлавливается теперь. ... |
|||
:
Нравится:
Не нравится:
|
|||
13.02.2016, 12:39 |
|
|
start [/forum/topic.php?fid=47&gotonew=1&tid=1832157]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
54ms |
get topic data: |
12ms |
get first new msg: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
others: | 12ms |
total: | 153ms |
0 / 0 |