JSON ma'lumotlari bilan ishlash
Agar sizda yuqori darajada tuzilgan ma'lumotlar bo'lmasa, murakkab ichki obyektlar, massivlar yoki iyerarxik ma'lumotlar mavjud bo'lsa yoki vaqt o'tishi bilan ma'lumotlar tuzilmalari rivojlansa, unda JSON formati har qanday murakkab ma'lumotlar tuzilmasini taqdim etish imkoniyatini beradi.
JSON bu Azure SQL ma'lumotlar bazasida va Azure SQL boshqariladigan instansiyasida boshqa har qanday turdagi kabi ishlatilishi mumkin bo'lgan matn formatidir. JSON ma'lumotlarini standart NVARCHAR ma'lumotlari sifatida yuborish yoki saqlash mumkin.
CREATE TABLE Products (
Id int identity primary key,
Title nvarchar(200),
Data nvarchar(max)
)
go
CREATE PROCEDURE InsertProduct(@title nvarchar(200), @json nvarchar(max))
AS BEGIN
insert into Products(Title, Data)
values(@title, @json)
END
Ushbu misolda ishlatilgan JSON ma'lumotlari NVARCHAR (MAX) turidan foydalanib taqdim etilgan. JSON ma'lumotlarini ushbu jadvalga kiritish mumkin yoki quyidagi misolda ko'rsatilgandek standart Transact-SQL sintaksisidan foydalanib saqlanadigan protsedura uchun argument sifatida ko'rsatish mumkin.
EXEC InsertProduct 'Toy car', '{"Price":50,"Color":"White","tags":["toy","children","games"]}'
Azure SQL ma'lumotlar bazasida va Azure SQL boshqariladigan Instant-da satrli ma'lumotlar bilan ishlaydigan har qanday mijoz tili yoki kutubxonasi ham JSON ma'lumotlari bilan ishlaydi. JSON ma'lumotlari NVARCHAR turini qo'llab-quvvatlaydigan jadvalda saqlanishi mumkin. Masalan, bu xotira bilan optimallashtirilgan jadval yoki tizim versiyalangan jadval bo'lishi mumkin. JSON formati mijoz tomonidan yoki ma'lumotlar bazasi darajasidagi kod uchun hech qanday cheklovlar qo'ymaydi.
JSON ma'lumotlari so’rovlari
Agar JSON ma'lumotlari Azure SQL jadvallarida saqlansa, SSL so'rovida ushbu ma'lumotlardan foydalanish uchun JSON funksiyalaridan foydalanishingiz mumkin.
Azure SQL ma'lumotlar bazasida mavjud bo'lgan JSON funksiyalari va Azure SQL boshqariladigan holati sizga boshqa har qanday SQL ma'lumotlari kabi JSON ma'lumotlarini davolashga imkon beradi. Siz osongina JSON matnidan qiymatlarni chiqarib olishingiz va istalgan so'rovda JSON ma'lumotlarini ishlatishingiz mumkin.
select Id, Title, JSON_VALUE(Data, '$.Color'), JSON_QUERY(Data, '$.tags')
from Products
where JSON_VALUE(Data, '$.Color') = 'White'
update Products
set Data = JSON_MODIFY(Data, '$.Price', 60)
where Id = 1
Do'stlaringiz bilan baham: |