mysql stored procedure cursor loop output select query results

CREATE DEFINER=`ceshi`@`%` PROCEDURE `A1_test`( )
BEGIN
--  创建计数器
  DECLARE s int DEFAULT 0;
-- 	用来接字段  有几个创建几个  这里1个举例
DECLARE url VARCHAR(32);

-- 从用户表中查询出voucherurl1,  user叫游标
DECLARE user CURSOR FOR select voucherurl1  from paymentsign_copy1 where dgords=1 and voucherurl1 is not NULL ;
-- password进入user这个游标中
-- 这句话是用在while循环前的,如果游标到了最后就会将之前定义的s设置为1 ,直接拷贝进入就行
DECLARE CONTINUE HANDLER FOR SQLSTATE '02000' SET s=1; 

-- 打开游标
  OPEN user;
-- 	将游标的值给usr  相当于java中的迭代  iter 
    FETCH user into url;
-- 		计数器
		 while s<>1 do  
--  		 select url;
-- 		 select CONCAT('rm -f /data/www/flowbilling/jiakuanpz/',url);
-- 字符串拼接  可以直接生成文本  最后写入本地文件
		 select  CONCAT('rm -f /data/www/flowbilling/jiakuanpz/',url) INTO OUTFILE '/root/test_test.txt' LINES TERMINATED BY "\\" ;
-- 重新赋值
    FETCH user into url;
			end while;
		
  CLOSE user;
 

		
		
		

END

Guess you like

Origin blog.csdn.net/weixin_44578029/article/details/110879930