Tak – możesz użyć mało znanej i mało używanej klauzula OUTPUT w wyciągu INSERT
INSERT INTO dbo.YourTable(col1, col2, col3, ...., ColN)
OUTPUT Inserted.Col1, Inserted.Col5, Inserted.ColN
VALUES(val1, val2, val3, ....., valN)
Zwraca to normalny zestaw danych, z którymi możesz sobie poradzić w razie potrzeby.
Jak pokazują dokumenty MSDN, możesz również wysłać wartości OUTPUT do np. zmienną tabeli lub tabelę tymczasową do późniejszego wykorzystania, jeśli zajdzie taka potrzeba.
Aby odpowiedzieć na zaktualizowane pytanie, użyj tego:
INSERT INTO dbo.EMPDETAILS(EmpName)
OUTPUT Inserted.EmpID
VALUES("John")