【问题标题】:Insert data into a table using OPENJson使用 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'
        
    ) 

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

谢谢

【问题讨论】:

    标签: sql stored-procedures open-json


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-15
      • 1970-01-01
      • 2017-09-30
      • 1970-01-01
      • 2017-09-16
      • 2019-01-21
      相关资源
      最近更新 更多