Following is my code of MySQL Stored Function.
DELIMITER $$
USE `mac_db`$$
DROP FUNCTION IF EXISTS `moving_average`$$
CREATE DEFINER=`root`@`localhost` FUNCTION `moving_average`(`table_name` VARCHAR(255),`column_name` VARCHAR(255),`order_column` VARCHAR(255),`row_cnt` INT) RETURNS DOUBLE
DETERMINISTIC
BEGIN DECLARE result_avg DOUBLE DEFAULT 0;
SELECT AVG(`column_name`) INTO result_avg FROM table_name ORDER BY order_column DESC LIMIT row_cnt;
RETURN result_avg;
END$$
DELIMITER ;
I am calling the function as follows:
SELECT moving_average('my_table','my_col','id',4);
I am getting the following error.
Table 'mac_db.table_name' doesn't exist
Please help to resolve the error.
prepare.