|
|
|
проверка в процедуре
|
|||
|---|---|---|---|
|
#18+
Добрый вечер! Есть процедура. В ней куча процедур. Некоторые из них могут падать. Если возможность отловить падение процедуры и записывать название упавшей процедуры в таблицу? Может триггер какой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2015, 03:17:24 |
|
||
|
проверка в процедуре
|
|||
|---|---|---|---|
|
#18+
кириллkДобрый вечер! Есть процедура. В ней куча процедур. Некоторые из них могут падать. Если возможность отловить падение процедуры и записывать название упавшей процедуры в таблицу? Может триггер какой? Один из вариантов: задекларируйте переменную CURRENT_CALL. перед каждым вызовом добавьте: SET CURRENT_CALL = 'Call to procedure procABCD'. Задекларируйте ексепш хандлер, типа: DECLARE CONTINUE HANDLER FOR SQLEXCEPTION INSERT INTO LOG_TABLE(...MESSAGE_TEXT...) VALUES (...CURRENT_CALL...) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2015, 07:34:07 |
|
||
|
проверка в процедуре
|
|||
|---|---|---|---|
|
#18+
javajdbc, Спасибо, только я на выход сделал DECLARE EXIT HANDLER FOR SQLEXCEPTION ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2015, 12:32:16 |
|
||
|
проверка в процедуре
|
|||
|---|---|---|---|
|
#18+
кириллk, Нашел такой обработчик DECLARE EXIT HANDLER FOR SQLEXCEPTION BEGIN GET DIAGNOSTICS CONDITION 1 @sqlstate = RETURNED_SQLSTATE, @errno = MYSQL_ERRNO, @text = MESSAGE_TEXT; SET @full_error = CONCAT("ERROR ", @errno, " (", @sqlstate, "): ", @text); SELECT @full_error; END; Ругается на "GET DIAGNOSTICS CONDITION 1" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.11.2015, 12:52:27 |
|
||
|
|

start [/forum/search_topic.php?author=miami&author_mode=last_posts&do_search=1]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
get settings: |
5ms |
get forum list: |
14ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
441ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 445ms |
| total: | 970ms |

| 0 / 0 |
