Да – можете да използвате малко известната и малко използвана клауза OUTPUT във вашия оператор INSERT
INSERT INTO dbo.YourTable(col1, col2, col3, ...., ColN)
OUTPUT Inserted.Col1, Inserted.Col5, Inserted.ColN
VALUES(val1, val2, val3, ....., valN)
Това връща нормален набор от данни, с които можете да работите, както е необходимо.
Както показват документите на MSDN, можете също да изпратите OUTPUT стойностите напр. променлива на таблица или временна таблица за по-късна употреба, ако е необходимо.
За да отговорите на актуализирания си въпрос, използвайте това:
INSERT INTO dbo.EMPDETAILS(EmpName)
OUTPUT Inserted.EmpID
VALUES("John")