Я знаю, что IDENTITY не поддерживается в хранилище данных SQL Azure, но есть ли другой способ автоматически присвоить значение INT столбцу при вставке таким же образом?
Как получить автоматически сгенерированные идентификаторы INT для столбца в хранилище данных SQL Azure
Ответы (1)
Что вы можете сделать, так это начать с получения Max RowId из таблицы, затем в операторе select из вашего источника использовать оператор row_number() для генерации номера строки, а затем просто добавить MaxRowId в row_number для создания последовательных серий RowId,
DECLARE @MaxRowId int
SET @MaxRowId = (SELECT ISNULL(MAX(RowId),0) FROM dbo.MyTable)
INSERT INTO MyTable (RowId, col1, col2)
SELECT
ROW_NUMBER() OVER(ORDER BY [col1]) + @MaxRowId RowId
, [col1]
, [col2]
FROM dbo.MySourceTable
person
hirokibutterfield
schedule
14.09.2016