在使用Logic Apps的SQL连接器时,Row Id来自何处?

时间:2018-03-24 00:41:17

标签: azure azure-logic-apps

我正在使用内部部署数据网关执行存储过程。返回的数据如下(混淆):

{
  "OutputParameters": {},
  "ResultSets": {
    "Table1": [
      {
        "SOPNUMBE": "string",
        "SYNCSTATUS3": "M",
        "Tracking_Number": "string",
        "OBJECTKEY": "2|string",
        "ScribeModifiedBy": "UPS",
        "ScribeModifiedDate": "2018-03-19T15:59:30.007"
      },
      {
        ...
      }
    ]
  }
}

那里没有任何东西对我说'#34;这是Row Id"。

这是使用本地SQL的限制吗?

为了提供一些额外的信息,我的存储过程从dbo.SCRIBESHADOW和另一个表中获取一些信息。我打算更新dbo.SCRIBESHADOW。以下是SSMS的截图。

dbo.SCRIBESHADOW key(s)

以下是一些示例行。我会为Row ID更新其中一行?

enter image description here

1 个答案:

答案 0 :(得分:2)

存储过程结果没有任何行ID,因为SP结果不是表行,即使SP仅由一个SELECT组成。这是因为SP结果是它自己的表。

所以,不,这不是任何限制,它只是存储过程的工作方式。如果需要任何源表的RowID,则需要将其添加到结果中。

要继续,如果需要根据存储过程结果更新记录,则需要从SP返回要更新的表的主键值。该值是Update行Action中的Row id。

但是,如果您使用存储过程来检索数据,那么您实际上也应该使用存储过程来更新数据。