阅读背景:

MYSQL存储过程_haoxinqing19891007的博客

来源:互联网 
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



你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: