Есть несколько способов как это сделать. Самый простой из них - это использовать вычисления. Рассмотрим на примере. Пусть в некоторой процедуре есть команда обновления остатка товара на складе: UPDATE GOODS
SET ITEMS_COUNT = ITEMS_COUNT - V_SOLD_COUNT
WHERE ID = P_ID_GOOD; После изменения остатка, если его новое значение стало меньше нуля, нужно выдать ошибку и откатить транзакцию (и ещё можно журналировать эту ошибку). Итак, как получить новое значение строки, которое устанавливается в столбце ITEMS_COUNT в результате команды UPDATE для последующего его анализа. MySql поддерживает разные типы переменных: с собачкой (@) и без этого предварительного символа. Первые переменные называются пользовательскими, а вторые - локальными. Ещё есть системные переменные (с двумя собачками), но о них в другой раз. Пример присвоения значения пользовательской переменной (с собачкой):
SET @var1 = 5; Пример присвоения локальной переменной (без собачки):
SET var1 = 5; Пользовательские переменные