BEGIN
-- 需要执行的SQL语句
DECLARE v_sql_3 VARCHAR(500);
-- 定义变量
DECLARE testId INT;
DECLARE testId2 VARCHAR(100);
-- 定义游标遍历时,作为判断是否遍历完全部记录的标记
DECLARE num INT DEFAULT 0;
-- 定义游标,并将sql结果集赋值到游标中
DECLARE company_list CURSOR FOR select Id,`Name` from Department;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET num=1;
-- 打开游标
OPEN company_list;
-- 将游标中的值赋值给变量,要注意sql结果列的顺序
FETCH company_list INTO testId,testId2;
-- while循环
WHILE num <> 1 DO
-- select testId,testId2 from DUAL;
-- 动态拼接sql并赋值v_sql_3
-- SET v_sql_3 = CONCAT('update Employee set Name=',testId2 ,' where Id=',testId);
update Employee set `Name` = testId2 where Id= testId;
-- update Employee set `Name` = 'bb' where Id= 1 ;
COMMIT;
-- 将游标中的值赋值给变量,要注意sql结果列的顺序
FETCH company_list INTO testId,testId2;
END WHILE;
-- 关闭游标
CLOSE company_list;
END
BEGIN
-- 需要执行的SQL语句
DECLARE v_sql_3 VAR