gpt4 book ai didi

SQL 服务器 : Update table based on JSON

转载 作者:行者123 更新时间:2023-12-02 17:06:16 25 4
gpt4 key购买 nike

我正在尝试根据我拥有的 JSON 更新表中的行。 JSON 具有以下结构:

"sensors": [
{
"id": "5afd7160f16819f11814f6e2",
"num": 0,
"name": "AC01",
"enabled": true,
"unit": "Volt AC Phase 1",
"desc": "NAMsdafE",
"lt_disaster": 1,
"gt_disaster": 1,
"lt_high": 1,
"gt_high": 1,
"lt_average": 1,
"gt_average": 1
},...

dbo.sensors 具有相同的结构 + 几列。要将这样的 JSON 对象而不是数组插入表中,我会这样做:

INSERT INTO dbo.sensors (.......)
SELECT .......
FROM OPENJSON(@json)
WITH (
id varchar(200),
....
);

所以我有两个问题:如何遍历 JSON 数组中的每个元素并使用相同的 id 更新每一行。任何帮助将不胜感激:)

最佳答案

1) 将 json 更改为 select 语句后,您可以使用游标对其进行迭代。

2) 你可以把json select 语句当作一张表。也就是说,您可以像处理两个表一样执行插入、更新和删除操作。对于更新的案例,您可以使用如下代码:

With Json_data as 
( SELECT .......
FROM OPENJSON(@json)
WITH (
id varchar(200),
....
)

update S set ....
from dbo.sensors as S
inner join Json_data as JD on JD.id = S.id

关于SQL 服务器 : Update table based on JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51696885/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com