如何在具有显式架构的openjson查询中映射键?

时间:2019-05-01 13:59:33

标签: json sql-server sql-server-json

我有一个查询,该查询采用一个显式数量的(假设为100个)值序列数组。 json看起来像这样

[["horse",6],
 ...,
 ["dog",100]]

每个数组元素都直接映射到其他表。尽管我可以执行以下操作来进行更新,但我希望能够使用显式架构。

update some_table
set favorite_animal=convert(varchar(50),json_value(value,'strict $[0]'))
   ,favorite_number=convert(int,json_value(value,'strict $[1]'))
from openjson(@json)
where id = convert(int,[key])

不幸的是,当我使用显式架构时,我不确定如何指定当前路径([key]中的值)。 我真的很想如果我能做这样的事情,但我找不到语法:

from openjson(@json) 
with (favAnimal varchar(50) '$[0]',favNumber int '$[1]', row int '[key]')

0 个答案:

没有答案