最后展示数据表custom_no,custom_name,setConfigValue。问题完成
时间: 2024-04-13 07:30:38 浏览: 163
好的,下面是一个修改后的MySQL存储过程,可以满足你的需求:
```sql
DELIMITER //
CREATE PROCEDURE get_custom_data()
BEGIN
DECLARE done INT DEFAULT FALSE;
DECLARE custom_no INT;
DECLARE custom_name VARCHAR(255);
DECLARE setConfigValue VARCHAR(255);
-- 创建游标
DECLARE cur CURSOR FOR SELECT custom_no, custom_name FROM custom;
-- 定义异常处理
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE;
-- 打开游标
OPEN cur;
-- 循环获取数据
read_loop: LOOP
-- 从游标中获取数据
FETCH cur INTO custom_no, custom_name;
-- 判断是否取完数据
IF done THEN
LEAVE read_loop;
END IF;
-- 查询 set_config 表的数据
SET setConfigValue = NULL; -- 初始化 setConfigValue
SET @query = CONCAT('SELECT setConfigValue FROM set_config WHERE name = ', QUOTE(custom_name));
PREPARE stmt FROM @query;
EXECUTE stmt INTO setConfigValue;
DEALLOCATE PREPARE stmt;
-- 在这里可以对查询到的 setConfigValue 进行处理,例如输出或者其他操作
SELECT custom_no, custom_name, setConfigValue;
END LOOP;
-- 关闭游标
CLOSE cur;
END //
DELIMITER ;
```
修改后的存储过程在循环中查询了set_config表,并将查询结果的setConfigValue一同展示出来。你可以根据自己的需求进一步处理查询结果或进行其他操作。
阅读全文