my sql此修改语句如何写成存储过程
此修改语句,写成存储过程,sf_fumian_tag_20230113这个表会按每日更新,所以后缀20230113是变量。
UPDATE sf_fumian_tag_20230113
SET states = '1'
WHERE
url in
(select a.url from (select url from sf_fumian_tag_20230113
GROUP BY url HAVING COUNT(url)>4) a)
DELIMITER $$
CREATE PROCEDURE update_table(IN table_suffix VARCHAR(20))
BEGIN
SET @sql = CONCAT('UPDATE sf_fumian_tag_', table_suffix, ' SET states = ''1'' WHERE url in (select a.url from (select url from sf_fumian_tag_', table_suffix, ' GROUP BY url HAVING COUNT(url)>4) a)');
PREPARE stmt FROM @sql;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END$$
DELIMITER ;