2016-11-28 50 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; 
相关问题