I noticed that the SQL connector actions Get Row, Update Row and Delete Row all require a so called Row ID.
So rather than to use a key field in the table, we seem obliged to use this Row ID instead.
I've been looking at what is returned by Get Rows to see if the Row ID was part of this but it does not seem the case.
{
"@odata.context": "https://flow-apim-europe-001-francecentral-01.azure-apim.net/apim/sql/0cc11648080d441ead1904e034b305bb/$metadata#datasets('default')/tables('%5Bdbo%5D.%5BMH_SAPdata_updates%5D')/items",
"value": [
{
"@odata.etag": "",
"ItemInternalId": "895216ba-649a-4913-a7cb-df35bf891400",
"Sales_x0020_Document": "121029 ",
"Comment": "<div class=\"ExternalClass412470A3E48343ABA10351B566D26833\"><p>?Where?<br></p><p>When????<br></p><p>Who?<br></p></div>",
"Reason": "How?"
}
]
}I wonder what to make of the 'ItemInternalId', but I have also no idea how to obtain that.
I've tried something like: body('Get_rows')['ItemInternalId'] but it either returns nothing or flow whines it doesn't exist.
Can anyone explain how to use these connectors if one doesn't know the Row ID's, because for now I don't believe there is. To me it seems the trick with the Row ID renders these SQL connection actions completely useless.
Meanwhile I find this and I'm trying to make sense of it but I fail again.

If I understand the limitations correctly, the table requires to have a primary key, so the RowID would be the Sales Document since this is the primary key.
I'm re-running my failed flows,... and today it all works. Completely flabbergasted!
So the bottom line, the RowID is in fact the primary key defined on your table.
Sorry for my previous rant but I now just keep my fingers crossed that it continues to work. 🙂
Thanks for any feedback
Michel