DELETE o FROM eve_operation o inner join eve e on o.eve_id=e.eve_id where e.create_time BETWEEN '2014-11-10 00:00:00' AND '2014-11-12 00:00:00'
作为参数传递的话还要定义吗?像这样对吗? CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`(IN `eve_start_createtime` datetime,IN `eve_end_createtime` datetime) BEGIN #Routine body goes here... set @param1 = eve_start_createtime; set @param2 = eve_end_createtime; set @sel = 'DELETE o FROM eve_operation o inner join eve e on o.eve_id=e.eve_id where e.create_time BETWEEN'; set @sel_2 = AND; set @sentence = concat(@sel,@param1,@sel_2,@param2); prepare stmt from @sentence; execute stmt; deallocate prepare stmt; END;;call NewProc('2014-11-10 00:00:00','2014-11-12 00:00:00')可以再拼接几条语句执行吗,直接跟在execute后面吗?
参数:IN `eve_start_createtime` datetime,IN `eve_end_createtime` datetime 存储过程:BEGIN set @param1 = eve_start_createtime; set @param2 = eve_end_createtime; set @sel = 'SELECT t_eve.c_eve_id FROM t_eve where e.create_time BETWEEN '; set @sel_2 = ' AND '; set @sentence = concat(@sel,@param1,@sel_2,@param2); prepare stmt from @sentence; execute stmt; deallocate prepare stmt; END 输入:call eve_del(DATE(20141110),DATE(20141113)) 错误信息:[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '00:00:00 AND 2014-11-13 00:00:00' at line 2
set @sentence = concat(@sel,'\'',@param1,'\'',@sel_2,'\'',@param2,'\'');
where e.create_time BETWEEN '2014-11-10 00:00:00' AND '2014-11-12 00:00:00'
CREATE DEFINER = CURRENT_USER PROCEDURE `NewProc`(IN `eve_start_createtime` datetime,IN `eve_end_createtime` datetime)
BEGIN
#Routine body goes here...
set @param1 = eve_start_createtime;
set @param2 = eve_end_createtime;
set @sel = 'DELETE o FROM eve_operation o inner join eve e on o.eve_id=e.eve_id where
e.create_time BETWEEN';
set @sel_2 = AND;
set @sentence = concat(@sel,@param1,@sel_2,@param2);
prepare stmt from @sentence;
execute stmt;
deallocate prepare stmt;
END;;call NewProc('2014-11-10 00:00:00','2014-11-12 00:00:00')可以再拼接几条语句执行吗,直接跟在execute后面吗?
存储过程:BEGIN
set @param1 = eve_start_createtime;
set @param2 = eve_end_createtime;
set @sel = 'SELECT t_eve.c_eve_id FROM t_eve where
e.create_time BETWEEN ';
set @sel_2 = ' AND ';
set @sentence = concat(@sel,@param1,@sel_2,@param2);
prepare stmt from @sentence;
execute stmt;
deallocate prepare stmt;
END
输入:call eve_del(DATE(20141110),DATE(20141113))
错误信息:[Err] 1064 - You have an error in your SQL syntax;
check the manual that corresponds to your MySQL server version for the right syntax
to use near '00:00:00 AND 2014-11-13 00:00:00' at line 2