DELIMITER $$
drop procedure if exists touch_;
CREATE PROCEDURE `touch_`(IN a varchar(20),IN b varchar(20),IN c varchar(20))
BEGIN
SET a ="3";
SET b ="2";
SET v ="1";
set @v_flag = concat("select * from t where id!=",a," and id!=",b," and id!=",c);
prepare ee from @v_flag;
EXECUTE ee ;
DEALLOCATE PREPARE ee;
END$$
call touch_(‘1’,’2’,’3’);
存储过程只能在begin 和end 之间设置变量值