Hay muchas formas de salir después de insertar
Cuando inserta datos en una tabla, puede usar la cláusula OUTPUT para devolver una copia de los datos que se han insertado en la tabla. La cláusula OUTPUT toma dos formas básicas: OUTPUT y OUTPUT INTO. Use el formulario de SALIDA si desea devolver los datos a la aplicación que realiza la llamada. Use el formulario OUTPUT INTO si desea devolver los datos a una tabla o una variable de tabla.
DECLARE @MyTableVar TABLE (id INT,NAME NVARCHAR(50));
INSERT INTO tableName
(
NAME,....
)OUTPUT INSERTED.id,INSERTED.Name INTO @MyTableVar
VALUES
(
'test',...
)
IDENT_CURRENT : devuelve la última identidad creada para una tabla o vista en particular en cualquier sesión.
SELECT IDENT_CURRENT('tableName') AS [IDENT_CURRENT]
SCOPE_IDENTITY : devuelve la última identidad de una misma sesión y el mismo alcance. Un ámbito es un procedimiento almacenado / disparador, etc.
SELECT SCOPE_IDENTITY() AS [SCOPE_IDENTITY];
@@ IDENTITY : Devuelve la última identidad de la misma sesión.
SELECT @@IDENTITY AS [@@IDENTITY];