ОШИБКА 1415: 1415: не разрешено возвращать набор результатов из триггера. - PullRequest
0 голосов
/ 05 апреля 2019

Я создал хранимую процедуру с одним аргументом.Я сделал триггер для вызова хранимой процедуры.Триггер вызывает хранимую процедуру при изменении значения столбца таблицы (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
...