#json #sql-server-2012
#json #sql-server-2012
Вопрос:
У меня json хранится в таблице с 3 миллионами строк. Одна строка содержит json в формате ниже
[
{
"Transaction":[
{
"ProductInfo":[
{
"LINE_NO":"1",
"STOCKNO":"890725471381116060"
},
{
"LINE_NO":"2",
"STOCKNO":"890725315884216020"
}
]
}
],
"Payment":[
{
"ENTSRLNO":"1",
"DOCDT":"08/25/2016"
}
],
"Invoice":[
{
"SALES_TYPE":"Salesinvoice",
"POS_CODE":"A20",
"CUSTOMER_ID":"0919732189692",
"TRXN_TYPE":"2100",
"DOCNOPREFIX":"CM16",
"DOCNO":"1478",
"BILL_DATE":"08/25/2016 03:59:07"
}
]
}
]
Я хочу сбросить выше json в трех разных таблицах
- ProductInfo
- Таблица платежей
- Счет-фактура
Как выполнить вышеуказанную задачу оптимизированным способом?
Комментарии:
1. SO не является сервисом «мне это нужно; дайте мне код». Это для получения ответов на проблемы с определенными частями программирования, с которыми вы можете столкнуться. Какой код вы уже пробовали? С чем именно вы испытываете трудности? Просьба к нам рекомендовать, как выполнить задачу «оптимизированным» способом, может рассматриваться как основанная на мнении, поскольку всегда есть много способов освежевать кошку. Пожалуйста, рассмотрите возможность добавления кода, который вы уже пробовали, к вашему вопросу и любым возникающим у вас проблемам, и вы можете получить несколько полезных ответов 🙂
2. Я пытался использовать функцию OPENJSON, но она не работает в моем sql server 2012, потому что мой compatibility_level равен 120, а OPENJSON требует compatibility_level 130. И в текущем сценарии у меня нет разрешения на изменение уровня совместимости базы данных.
Ответ №1:
Ну, наиболее эффективным способом будет написать процедуру и использовать open json в sql server, проверьте ссылку ниже: https://msdn.microsoft.com/en-IN/library/dn921879.aspx