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