Я наткнулся на этот вопрос, пытаясь сделать то же самое (я думаю). Вот как я это сделал:
df['index_col'] = df.index
Затем вы можете отсортировать по новому столбцу индекса.
Предложение OUTPUT должно работать для вас. Вот пример его использования.
DROP TABLE IF EXISTS #t;
CREATE TABLE #t
(
ID INT NOT NULL IDENTITY(1,1),
SomeText VARCHAR(100)
);
DROP TABLE IF EXISTS #IDTable;
CREATE TABLE #IDTable (ID INT);
INSERT INTO #t (SomeText)
VALUES ('Hello'),
('World');
UPDATE #t
SET SomeText = 'World!'
OUTPUT Inserted.ID
INTO #IDTable
WHERE ID = 2;
SELECT ID FROM #IDTable;
В вашем примере это может выглядеть примерно так:
UPDATE Table1
SET [HastaSN] = @HastaSN
OUTPUT 'Table1', Inserted.Id
INTO Changes
WHERE Id = @Id