Мои json данные выглядят так:
SET @json='{
"_id": "4erutit8979044kd5",
"ADDRESSES": {
"1": {
"VALIDATED": "",
"TYPE": "billing",
"RESIDENTIAL": "",
"REGION": "ON",
"POSTAL": "L6789W",
"PO": 0,
"PHONE": "222222",
"NAME_2": "Kapil",
"NAME_1": "Kaushal",
"LINE_2": "",
"LINE_1": "215 Wards Ct.",
"EMAIL": "kapilk@gmail.com",
"COUNTRY": "IN",
"CITY": "Jodhpur",
"LAST_USED": 1435590000.0
},
"2": {
"TYPE": "billing",
"RESIDENTIAL": "",
"REGION": "JD",
"POSTAL": "2222",
"PO": 0,
"PHONE": "",
"NAME_2": "Salman",
"NAME_1": "Kursheed",
"LINE_2": "",
"LINE_1": "1459 Thomas Street",
"EMAIL": "salmank@gmail.com",
"COUNTRY": "IN",
"CITY": "Jodhpur",
"LAST_USED": 1436460000.0,
"VALIDATED": "dirty"
},
"3": {
"VALIDATED": "clean",
"TYPE": "shipping",
"CITY": "Jaisalmer",
"COUNTRY": "IN",
"EMAIL": "rajk@gmail.com",
"LINE_1": "1020 Carripa Enclave",
"LINE_2": "",
"NAME_1": "Raj",
"NAME_2": "Kumar",
"PO": 0,
"POSTAL": "222234",
"REGION": "JS",
"LAST_VALIDATED": "2015-07-14T16:20:42.242Z",
"LAST_USED": 1436460000.0
}
}, ...
and so on
Я хочу добиться чего-то вроде:
WHILE @cnt < 3
BEGIN
--insert into dummy_table
select *
from openjson (@json,'$.ADDRESSES."@cnt"')
SET @cnt = @cnt + 1;
END;
Строка работает нормально, как:
select * from openjson (@json,'$.ADDRESSES."1"')
select * from openjson (@json,'$.ADDRESSES."1"')
Но не с переменной @cnt
, даже если я определю @cnt
как char = '1'
.
Пожалуйста, помогите мне добиться того же. Количество адресов может отличаться, поэтому я хочу, чтобы оно было динамическим c.