用存储过程游标更新数据,解析字段中的json数据

Posted 我是杉杉啊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用存储过程游标更新数据,解析字段中的json数据相关的知识,希望对你有一定的参考价值。

delimiter //
drop procedure if exists save;
CREATE PROCEDURE save()
BEGIN
-- 定义变量
 DECLARE a VARCHAR(1000);
 DECLARE b VARCHAR(1000);
 DECLARE c VARCHAR(1000);
 declare done int default 0;
-- 创建游标,并存储数据
DECLARE cur_test CURSOR FOR
SELECT id as id ,REPLACE (
  JSON_EXTRACT (data_json, $.domination),
  ",
  ‘‘
 ) AS domination,
 REPLACE (
  JSON_EXTRACT (data_json, $.dominationCn),
  ",
  ‘‘
 ) AS dominationCn
from t_eliminate
where domination IS NULL ;
-- 游标中的内容执行完后将done设置为1
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
-- 打开游标
open cur_test;
-- 执行循环
REPEAT
FETCH cur_test into a,b,c;
-- 判断是否结束循环
IF not done THEN
-- 取游标中的值
-- INSERT into aaa(did) values(a);
-- 执行更新操作
UPDATE t_eliminate set domination = b,domination_cn=c where id = a;
end if;
until done END repeat;
-- 释放游标
CLOSE cur_test;
END;
//

CALL save();

 

以上是关于用存储过程游标更新数据,解析字段中的json数据的主要内容,如果未能解决你的问题,请参考以下文章

mysql 存储过程

mysql存储过程 使用游标实现两张表数据同步数据

如何在存储过程中使用游标?

mysql游标的用法及作用

MySQL 存储过程,获取使用游标查询的结果集

数据库基础详解:存储过程、视图、游标、SQL语句优化以及索引