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
mysql 存储过程游标 循环输出select 查询结果
最新推荐文章于 2024-07-29 03:56:59 发布
该博客内容涉及创建一个数据库存储过程,该过程通过游标遍历`paymentsign_copy1`表中dgords为1且voucherurl1不为空的记录。过程中声明了一个计数器并定义了游标,用于逐条读取voucherurl1字段的值,并结合文件系统操作,使用`rm-f`命令删除指定路径下与url字段对应的文件。此脚本展示了数据库操作与文件系统交互的实现。
摘要由CSDN通过智能技术生成