CREATE DEFINER=`root`@`localhost` PROCEDURE `table_data_count`(IN `tableName` varchar(200),IN `whereStr` varchar(200),IN `startDate` VARCHAR(200),IN `endDate` VARCHAR(200),OUT count_num tinyint)
READS SQL DATA
BEGIN
DECLARE creatSql text ;
set creatSql = CONCAT('SELECT COUNT(1) INTO @count_num from ',tableName);
SET @SQL = CONCAT(creatSql);
PREPARE stmt FROM @SQL ;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
set count_num = @count_num;
INSERT INTO table_data_count
(count,table_name,start_date,end_date)
value
(count_num,tableName,startDate,endDate);
END
@count_num 必须加@,
set count_num = @count_num 赋值给输出变量
本文介绍了一种使用MySQL存储过程来计算指定表中记录数量的方法,通过定义输入参数如表名、条件字符串、开始和结束日期,以及一个输出变量来返回计数结果,并将结果插入到另一个表中进行记录。
1027

被折叠的 条评论
为什么被折叠?



