Ja - du kan använda den lite kända och lite använda OUTPUT-klausulen i din INSERT-sats
INSERT INTO dbo.YourTable(col1, col2, col3, ...., ColN)
OUTPUT Inserted.Col1, Inserted.Col5, Inserted.ColN
VALUES(val1, val2, val3, ....., valN)
Detta returnerar en normal uppsättning data som du kan hantera som du behöver.
Som MSDN-dokumenten visar kan du även skicka OUTPUT-värdena till t.ex. en tabellvariabel eller temptabell för senare användning, om du behöver.
För att svara på din uppdaterade fråga, använd detta:
INSERT INTO dbo.EMPDETAILS(EmpName)
OUTPUT Inserted.EmpID
VALUES("John")