使用 OPENJson 向表中插入数据
Posted
技术标签:
【中文标题】使用 OPENJson 向表中插入数据【英文标题】:Insert data into a table using OPENJson 【发布时间】:2020-11-12 18:26:36 【问题描述】:我有以下 Json 需要插入到表中
"errorMessage":"","requestOutput": "REQUEST_ID" : 100910, "STATUS_CODE" : "P", "PHASE_CODE" :
"N", "COMPLETION_TEXT" : null
这是我用来处理 json 并插入到表中的查询
INSERT INTO dbo.tblRequest_Details([RequestId]
,[Error_Message]
,[Status_Code]
,[Phase_Code]
,[Completion_Text])
SELECT [RequestId]
,[Error_Message]
,[Status_Code]
,[Phase_Code]
,[Completion_Text]
FROM OPENJSON((select * from @json2), N'$.requestOutput')
WITH (
[RequestId] nvarchar(max) N'$.REQUEST_ID',
[Status_Code] nvarchar(max) N'$.STATUS_CODE',
[Phase_Code] nvarchar(max) N'$.PHASE_CODE',
[Completion_Text] nvarchar(max) N'$.COMPLETION_TEXT')
CROSS APPLY OPENJSON((select * from @json2), N'$.errorMessage')
WITH( [Error_Message] nvarchar(max) N'$.errorMessage'
)
但由于某种原因,数据没有插入到表中。 我做错了什么?
谢谢
【问题讨论】:
【参考方案1】:原来 errorMessage 字段有错误,所以我删除了交叉应用。而是将 errorMessage 的值分配给一个变量并使用它。
【讨论】:
以上是关于使用 OPENJson 向表中插入数据的主要内容,如果未能解决你的问题,请参考以下文章