Azure Synapse - получить значение идентификатора вставленной строки - PullRequest
0 голосов
/ 08 мая 2020

У нас есть задание ETL, которое должно вставить строку в Table X, а затем получить значение IDENTITY для строки, вставленной в Table X, для использования в последующих преобразованиях. IDENTITY используется в качестве суррогатного ключа, например, например, здесь .

В SQL Server можно использовать SCOPE_IDENTITY , но это недоступно в Azure Synapse (ранее Azure SQL Хранилище данных).

Простой пример

╔═══════════════╦═══════╗
║ Id (IDENTITY) ║ Value ║
╠═══════════════╬═══════╣
║             1 ║ abc   ║
║             2 ║ def   ║
╚═══════════════╩═══════╝

Задание вставит значение «hij».

╔═══════════════╦═══════╗
║ Id (IDENTITY) ║ Value ║
╠═══════════════╬═══════╣
║             1 ║ abc   ║
║             2 ║ def   ║
║             3 ║ hij   ║
╚═══════════════╩═══════╝

Задание должно знать значение Id = 3.

Примечание: выполнение MAX (Id) не сработает, поскольку столбец IDENTITY не гарантирует инкрементных значений, а другие вставки могут go в таблицу тем временем .

Есть ли у кого-нибудь предложения по этому поводу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...