Как перехватить предупреждающие сообщения из хранимой процедуры MySQL - PullRequest
0 голосов
/ 03 октября 2018

У меня есть хранимая процедура, которая вставляет запись с использованием 'insert ignore'.

Это выдаст предупреждение, если запись уже существует, но код не будет поврежден.

Однако, используя оператор.getWarnings () в моем java-коде дает мне null для вызываемого оператора, тогда как он прекрасно работает для подготовленного оператора.

Во-вторых, я создал еще один сохраненный процесс с использованием предупреждений show.

Если выполняется из IDE msql, он отлично показывает предупреждения в консоли, но не работает, если вызывается из Java.

Как я могу перехватить предупреждения, приводящие к хранимому процессу через Java-программу?

пример хранимой процедуры:

Blockquote

CREATE PROCEDURE createOrderByRequestId (В запросе BIGINT, в createTime TIMESTAMP, в INTIMALTAMP TIMESTAMP, IN partnerAdapterId INT, IN providerOrderId VARCHAR (100), IN partnerOrderId VARCHAR 100 (), В VARCHAR OrderStatus (100), IN BALLAmount FLOAT, INNIGITALTIME BIGINT, IN PosCreationTime BIGINT, OUT ProviderResultVARCHAR (100), выход ProviderResult2 VARCHAR (100)) НАЧАТЬ

1 021 * ВСТАВИТЬ ИГНОРИРУЙТЕ НА orders_demo (orderRequestId, createTime, modifiedTime, partnerAdapterId, providerOrderId, partnerOrderId, OrderStatus, billAmount, orderNotificationTime, posCreationTime) ЗНАЧЕНИЯ (RequestID, createTime,updatedTime, partnerAdapterId, providerOrderId, partnerOrderId, orderStatus, billAmount, orderNotificationTime, posCreationTime);

SHOW ПРЕДУПРЕЖДЕНИЯ;

ВЫБРАТЬ @ProviderResult AS RETURNED_SQLSTATE * MEXT_EXT_TING_STRING_STRING * MEXT_STR_TOOT * MEXRATE * MEXT_RED_NEST_STAR * MEXID$$

Цитата

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...