Spec-Zone.ru › MySQL 8.4

15.6.8 Ограничения обработки условий

SIGNAL, RESIGNAL и GET DIAGNOSTICS не допускаются в качестве подготовленных заявлений. Например, это заявление недействительно:

PREPARE stmt1 FROM 'SIGNAL SQLSTATE "02000"';

Значения в классе '04' не обрабатываются особым образом. Они обрабатываются так же, как и другие исключения.

В стандартном SQL первое условие относится к значению SQLSTATE, возвращаемому для предыдущего оператора SQL. В MySQL это не гарантируется, поэтому для получения основной ошибки нельзя сделать следующее:

GET DIAGNOSTICS CONDITION 1 @errno = MYSQL_ERRNO;

Вместо этого сделайте следующее:

GET DIAGNOSTICS @cno = NUMBER;
GET DIAGNOSTICS CONDITION @cno @errno = MYSQL_ERRNO;

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/condition-handling-restrictions.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API