Как мне сообщить sqlstate 00000 (успех) из хранимой процедуры? - PullRequest
0 голосов
/ 16 января 2019

Я хочу, чтобы мои процедуры миграции возвращали стандартные коды sqlstate, когда это необходимо. Стандартный код успеха - «00000», но когда я передаю это sqlstate, я получаю следующую ошибку:

Error Code: 1407. Bad SQLSTATE: '00000'

Вот код, на который он жалуется. Это работает, если я изменяю статус на 01000, так что это не мой синтаксис.

signal sqlstate '00000' set message_text = '::SUCCESS::'

1 Ответ

0 голосов
/ 16 января 2019

По документации:

https://dev.mysql.com/doc/refman/5.5/en/signal.html

В следующих описаниях «необработанный» означает, что никакой обработчик для сигнальное значение SQLSTATE определено с помощью команды DECLARE ... HANDLER.

Class = '00' (success)

Illegal. SQLSTATE values that begin with '00' indicate success and are not valid for SIGNAL.

Другими словами, вы можете использовать «сигнал» только для возврата условия ОШИБКА . НЕ сигнал вызова подразумевает «успех».

signal sqlstate '12345'
    set message_text = '::SOME CUSTOM ERROR::'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...