MySQL过程获取增量数
运行以下表定义,以在测试数据库中创建一个称为“测试”的表。
DROP TABLE IF EXISTS test.tests; CREATE TABLEtest.tests( id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, var VARCHAR(45) NOT NULL, PRIMARY KEY (id) );
用一些默认值填充它:
INSERTINTOtests(var)VALUES('one'),('two'),('three'),('four');
现在,假设您要在表中查找值,但是要为每行增加一个值,请执行以下过程。如果使用的是MySQLQuery浏览器,请打开脚本表,然后执行以下操作并执行,更改任何数据库/表定义。
DELIMITER $$ DROP PROCEDURE IF EXISTS `test`.`Increment` $$ CREATE DEFINER=`root`@`localhost` PROCEDURE `Increment`( NUMBER CHAR(64) ) BEGIN SET @total=0; SELECT id, @total:=@total+NUMBER AS RunningSum FROM tests; END $$ DELIMITER ;
现在,您将可以通过以下方式调用该过程:
CALLINCREMENT(4);
您传递给过程的值用于计算增量。因此,在这种情况下,输出将类似于以下内容:
id RunningSum 1 4 2 8 3 12 4 16