存储过程解析json赋值到临时表
时间: 2024-03-01 20:07:45 浏览: 12
好的,下面是一个示例存储过程,可将 JSON 数据解析为表格并将其存储到临时表中:
```
CREATE PROCEDURE parse_json(IN json_str TEXT)
BEGIN
-- 创建临时表
CREATE TEMPORARY TABLE IF NOT EXISTS temp_table (
id INT,
name VARCHAR(255),
age INT
);
-- 解析 JSON 数据并插入临时表
INSERT INTO temp_table
SELECT JSON_EXTRACT(json_str, '$.id'),
JSON_EXTRACT(json_str, '$.name'),
JSON_EXTRACT(json_str, '$.age');
-- 查询临时表
SELECT * FROM temp_table;
END;
```
调用存储过程:
```
CALL parse_json('{"id": 1, "name": "John", "age": 30}');
```
执行结果:
```
+------+-------+-----+
| id | name | age |
+------+-------+-----+
| 1 | John | 30 |
+------+-------+-----+
```
需要注意的是,如果 JSON 数据中的字段名与临时表中的列名不匹配,将会导致插入失败。因此,建议在存储过程中使用与 JSON 数据中字段名一致的列名来创建临时表。