请教一个mysql 存储过程的问题?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教一个mysql 存储过程的问题?相关的知识,希望对你有一定的参考价值。

如何更新查询出来的多条数据
比方说:我现在从用户表中取出指定条件的用户编号,通过用户编号去账户表更新对应的账户信息

参考技术A 可以用 in 语句: update 账户信息 set ...... where 用户编号 in (select 用户编号 from 用户表 where ....)追问

这种通过子查询更新表的方式满足不了我现在的需求,因为我还要插入账户的日志记录(多条)

参考技术B 可以把指定的用户查出的编号赋值给一个变量,有了这个变量,那要更新其他表中的这个用户信息就好办啦....

MySQL存储过程中如何遍历查询结果然后调用另一个存储过程?

【中文标题】MySQL存储过程中如何遍历查询结果然后调用另一个存储过程?【英文标题】:How to travers query results and then call the other Stored Procedure in MySQL Stored Procedure? 【发布时间】:2015-08-27 21:56:24 【问题描述】:

现在我可以编写单独的存储过程了。

-- get the total query id result
select id from book where bookprice>10;
-- only pass a single id
call sp_refreshbook(id); 

如何将它们合并在一起?现在我想搜索 id 结果,他们在新的 store 存储过程的结果中调用每个 id 中的 sp_refreshbook

【问题讨论】:

告诉我们sp_refreshbook小狗,我们可以创建一个新的sp_refreshbookLooper 【参考方案1】:

我自己用光标解决了这个问题。

open v_result_cur;
repeat
fetch v_result_cur into v_id;
IF NOT v_done THEN
select v_id; 
END IF;
until v_done end repeat;
close v_result_cur;

【讨论】:

以上是关于请教一个mysql 存储过程的问题?的主要内容,如果未能解决你的问题,请参考以下文章

请教各位高手 oracle 存储过程 如何获得 捕获异常的内容

请教关于oracle中写存储过程时 select into 语句报错的问题

一个sql存储过程中@sql语句加入引号的问题

MySQL存储过程查询和删除的问题

oracle 存储过程 sql中in变量问题

plsql中如何执行存储过程?