У меня есть запрос, который принимает массив с явным числом (скажем, 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]')