CREATE DEFINER=`root`@`%` PROCEDURE `randstutest`()
BEGIN
DECLARE v_finished INTEGER DEFAULT 0;
DECLARE ssid VARCHAR ( 100 ) DEFAULT "";
DECLARE sname VARCHAR ( 100 ) DEFAULT "";
DECLARE item_cursor CURSOR FOR SELECT sid, NAME FROM sys_itemlist WHERE en = 1 AND testView = 1;
-- declare NOT FOUND handler
DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_finished = 1;
OPEN item_cursor;
itemloop :
LOOP
FETCH item_cursor INTO ssid, sname;
IF v_finished = 1 THEN
LEAVE itemloop;
END IF;
-- 变量用于字段名,表名时,必须 用以下方式 --
SET @sqlStr:=CONCAT('UPDATE stutest SET ', ssid, ' = RAND() * 100');
PREPARE stmt from @sqlStr;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;
END LOOP itemloop;
CLOSE item_cursor;
END