Я создал хранимую процедуру с одним аргументом.Я сделал триггер для вызова хранимой процедуры.Триггер вызывает хранимую процедуру при изменении значения столбца таблицы (device_session1). Если is_active обновляется до «Нет», то триггер вызывает хранимую процедуру.Я передаю значение этого столбца в хранимой процедуре, и процедура печатает его, но дает ошибку при обновлении значения столбца.
Таблица-
CREATE TABLE `device_session1` (
`id` varchar(75) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL,
`is_active` varchar(50) CHARACTER SET latin1 COLLATE latin1_swedish_ci DEFAULT NULL,
PRIMARY KEY (`id`));
insert into device_session1(id,is_active) values ('11','YES');
Триггер-
Delimiter $$
create trigger after_device_session_update
after update on device_session1
For Each Row
BEGIN
IF (NEW.is_active="NO") THEN
SET @session_id = new.id;
call new_procedure1(@session_id);
END IF;
END;
Delimiter;
Хранимая процедура -
CREATE PROCEDURE `new_procedure1`(IN id VARCHAR(50))
BEGIN
select concat('id : ',id);
END