0

我有以下需要插入到表中的 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'
        
    ) 

但是由于某种原因,数据没有插入到表中。我究竟做错了什么?

谢谢

4

1 回答 1

0

原来 errorMessage 字段有错误,所以我删除了交叉应用。而是将 errorMessage 的值分配给一个变量并使用它。

于 2020-11-12T18:57:36.327 回答