mysql里怎样循环遍历游标
1个回答
展开全部
传入id,输出name和sex的存储过程,这里同个id有多条数据,所以需要用到游标。
DELIMITER // CREATE PROCEDURE p5(IN v_id INT) BEGIN DECLARE nodata INT DEFAULT 0;#注意:这个变量声明必须放在游标声明前面DECLARE v_name VARCHAR(30); DECLARE v_sex CHAR(3); DECLARE c_ns CURSOR FOR SELECT NAME,sex FROM t WHERE id = v_id; DECLARE EXIT HANDLER FOR NOT FOUND SET nodata = 1;#当读到数据的最后一条时,设置变量为1 OPEN c_ns; WHILE nodata = 0 DO#判断是不是到了最后一条数据FETCH c_ns INTO v_name,v_sex; SELECT v_name,v_sex,nodata; END WHILE; CLOSE c_ns; END //
DELIMITER // CREATE PROCEDURE p5(IN v_id INT) BEGIN DECLARE nodata INT DEFAULT 0;#注意:这个变量声明必须放在游标声明前面DECLARE v_name VARCHAR(30); DECLARE v_sex CHAR(3); DECLARE c_ns CURSOR FOR SELECT NAME,sex FROM t WHERE id = v_id; DECLARE EXIT HANDLER FOR NOT FOUND SET nodata = 1;#当读到数据的最后一条时,设置变量为1 OPEN c_ns; WHILE nodata = 0 DO#判断是不是到了最后一条数据FETCH c_ns INTO v_name,v_sex; SELECT v_name,v_sex,nodata; END WHILE; CLOSE c_ns; END //
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询