使用 Logic Apps 的 SQL 连接器时,Row Id 从何而来?

Where does Row Id come from when working the SQL connector of Logic Apps?

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

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

里面什么都没有告诉我 "this is the Row Id"。

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

为了提供一些附加信息,我的存储过程从 dbo.SCRIBESHADOW 和另一个 table 中获取了一些信息。我打算更新 dbo.SCRIBESHADOW。这是来自 SSMS 的屏幕截图。

以下是一些示例行。我会为行 ID 添加什么以更新这些行之一?

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

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

要继续,如果您需要根据存储过程结果更新记录,那么您需要从 SP return 中获取您想要的 table 主键的值更新。该值是更新行操作中的行 ID。

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