我有一个查询,该查询采用一个显式数量的(假设为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]')