表名字是line,主键line_seq,我想根据主键来更新这个表所有数据的字段lastupdatetime.
自己搜了一上午没写出来。DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`CursorProc` $$
CREATE PROCEDURE `test`.`CursorProc` ()
BEGIN
DECLARE no_more_products INT;
DECLARE prd_code VARCHAR (255);
DECLARE cur_product CURSOR FOR
SELECT
line_seq
FROM
line;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_products=1;
SET no_more_products=0;
OPEN cur_product;
REPEAT
FETCH cur_product INTO prd_code;
UPDATE
line
SET
lastupdate_time ='2014-02-12 01:42:15'
WHERE line_seq=prd_code;
UNTIL no_more_products = 1
END REPEAT;
CLOSE cur_product;
END $$
DELIMITER;
自己搜了一上午没写出来。DELIMITER $$
DROP PROCEDURE IF EXISTS `test`.`CursorProc` $$
CREATE PROCEDURE `test`.`CursorProc` ()
BEGIN
DECLARE no_more_products INT;
DECLARE prd_code VARCHAR (255);
DECLARE cur_product CURSOR FOR
SELECT
line_seq
FROM
line;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET no_more_products=1;
SET no_more_products=0;
OPEN cur_product;
REPEAT
FETCH cur_product INTO prd_code;
UPDATE
line
SET
lastupdate_time ='2014-02-12 01:42:15'
WHERE line_seq=prd_code;
UNTIL no_more_products = 1
END REPEAT;
CLOSE cur_product;
END $$
DELIMITER;
是因为需要对大量数据做更新,直接update感觉老出错