2016-11-28 7 views
0

я создаю триггер и я не ставил никакого возвращаемого значения, но там показывает ошибку, чтоНе разрешается возвращать результирующий набор из триггера

DELIMITER // 
    CREATE TRIGGER Trig_InsertIBDActionURL AFTER INSERT ON tbl_ibdcalllog FOR EACH ROW 
    BEGIN 
     DECLARE ActionURL varchar(500); 
     select @ActionURL := trim(`actionurl`) from tbl_client where id=NEW.clientid; 
     if(CHAR_LENGTH(ActionURL) <> 0) THEN 
        insert into tbl_ibdactionurl (Call_id,clientid,mobile_number,language,call_starttime,call_duration,keypress,file_name,obd_status, 
    operator,circle,failure_reason,smsflag,datacapture,latch_duration,latchcreditused,creditused,country_code,callcenter_no,ActionURL) 
      (select id,clientid,mobile_number,language,call_starttime,call_duration,keypress,file_name,obd_status,operator,circle,failure_reason, 
    smsflag,datacapture,latch_duration,latchcreditused,creditused,country_code,callcenter_no, @ActionURL from tbl_ibdcalllog where id = NEW.id); 
      END IF; 
    END;// 

DELIMITER ; 

ответ

0

Я думаю, что ваш insert into .. select from является виновником здесь. Измените его, как показано ниже, удалив () вокруг SELECT заявления (которое, вероятно, дает ощущение, что вы пытаетесь вернуть результирующий набор) и посмотреть, если он уходит

insert into tbl_ibdactionurl 
(Call_id,clientid,mobile_number,language,call_starttime, 
call_duration,keypress,file_name,obd_status, 
operator,circle,failure_reason,smsflag,datacapture,latch_duration, 
latchcreditused,creditused,country_code,callcenter_no,ActionURL) 
select id,clientid,mobile_number,language,call_starttime,call_duration, 
keypress,file_name,obd_status,operator,circle,failure_reason, 
smsflag,datacapture,latch_duration,latchcreditused,creditused, 
country_code,callcenter_no, @ActionURL 
from tbl_ibdcalllog 
where id = NEW.id; 
Смежные вопросы