概述
编写了一个传入id,查询回列表数据,通过循环把某个字段拼接并更新到数据表。
CREATE DEFINER=`nyl_user`@`` PROCEDURE `update_export_data`(in param varchar(32))
BEGIN
#定义循环标识
DECLARE s int DEFAULT 0;
#定义要拼接的字符串
DECLARE SCORE varchar(255) DEFAULT '';
DECLARE RESULT varchar(255) DEFAULT '';
#定义查询局部变量,接收查询到的数据,这里变量命命不能与查询字段名字相同,否则会出现空值
DECLARE s_score varchar(255);
DECLARE s_result varchar(256);
#查询数据
DECLARE report CURSOR FOR SELECT F_SCORE,F_RESULT from t_question_result_factor WHERE F_RESULT_ID = param;
#设置循环结束条件
DECLARE CONTINUE HANDLER FOR NOT FOUND SET s=1;
#打开循环
open report;
#将循环的值赋给变量
fetch report into s_score,s_result;
#开始循环
while s<>1 do
#拼接字符串
SET SCORE = CONCAT( SCORE,s_score,'/');
SET RESULT = CONCAT( RESULT,s_result,'/');
fetch report into s_score,s_result;
#结束循环
end while;
#关闭循环
close report;
#执行更新拼接好的字符串
UPDATE t_question_result_export SET F_RESULT = RESULT ,F_SCORE = SCORE WHERE F_ID = param;
END
最后
以上就是魁梧猫咪为你收集整理的mysql 存储过程 循环拼接字符串的全部内容,希望文章能够帮你解决mysql 存储过程 循环拼接字符串所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复