MySQL 存储过程中游标的循环输出
DELIMITER $$
DROP PROCEDURE IF EXISTS `getData` $$
CREATE PROCEDURE `getData`(out a1 char(5),out a2 varchar(20),out a3 char(5))
BEGIN
declare done int default 0;
declare num char(5);
declare s_name varchar(20);
declare s_course char(5);
declare stu_data cursor for
select s.student_id,s.name,st.course_id
from student s left join (select student_id,course_id
from clazz
group by student_id
)as st
on s.student_id = st.student_id
order by student_id asc;
declare continue handler for not found set done = 1;
/*-------------open cursor------------*/
open stu_data;
cursor_loop:loop
fetch stu_data into a1,a2,a3;
select a1,a2,a3 into outfile 'c:a.txt';
/*---------loop--------*/
if done=1 then
leave cursor_loop;
end if;
end loop cursor_loop;
close stu_data;
END $$
DELIMITER ;1.怎么样才能用一个列把所有数据显示出来。
2.当我outfile时怎么养才能追加数据呢,现在是写完第一个数据后就报错“c:a.txt is exits”;
...全文
相关推荐
Mysql游标(循环操作)
### MySQL游标(循环操作)#### 一、游标简介在MySQL中,游标是一种数据库对象,主要用于处理存储过程中的结果集。
mysql动态游标学习(mysql存储过程游标)
如果`done`变量被设置为1(表示没有更多数据),则跳出循环。在循环体内,我们简单地将`v_username`的值输出,以展示游标的功能。最后,用`CLOSE cur`关闭游标,确保资源得到释放。
mysql存储过程之游标(DECLARE)原理与用法详解
MySQL存储过程中的游标(DECLARE)是处理查询结果集的重要工具,它允许程序逐行处理数据,而不是一次性加载所有结果。
MySQL 存储过程和"Cursor"的使用方法
在处理复杂的业务逻辑或需要进行多次数据操作时,存储过程尤其有用。在MySQL中,"Cursor"(游标)是存储过程中的一个重要概念,它提供了一种逐行处理查询结果集的方式。
详解Mysql 游标的用法及其作用
首先声明变量,创建游标,然后在循环中逐行处理,将每行的库存数量累加到总库存中,最后输出总库存。### 游标注意事项- MySQL的存储过程中,每条语句后必须加上分号(;)作为结束符号。


