this is my store procedure in mysql .when i call it in phpmyadmin its ok and done
call in phpmyadmin
CALL sp_del_temp_record('tbl_user_login_and',1880,10)
but when i use in mysql_query it is not working:
mysql_query("CALL sp_del_temp_record('tbl_user_login_and',1877,10)");
this is my sp:
CREATE PROCEDURE `sp_del_temp_record`(p_tbl varchar(255), max_record smallint(6),del_count smallint(6))
BEGIN
SET @count_query=CONCAT ("select count(auto_id) into @count_record from ",p_tbl);
PREPARE count_record_q FROM @count_query;
EXECUTE count_record_q;
if @count_record>max_record then
SET @del_query=CONCAT ("delete from ",p_tbl," order by auto_id asc limit ",del_count);
PREPARE del_query_q FROM @del_query;
EXECUTE del_query_q;
end if;
END;
try this way :
DELIMITER $$
CREATE PROCEDURE `sp_del_temp_record`(p_tbl varchar(255), max_record smallint(6),del_count smallint(6))
BEGIN
SET count_query=CONCAT ("select count(auto_id) into count_record from ",p_tbl);
PREPARE count_record_q FROM count_query;
EXECUTE count_record_q;
if count_record>max_record then
SET del_query=CONCAT ("delete from ",p_tbl," order by auto_id asc limit ",del_count);
PREPARE del_query_q FROM del_query;
EXECUTE del_query_q;
end if;
END$$
DELIMITER ;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With