The OUTPUT clause returns information on rows that are affected by an INSERT, UPDATE, DELETE, or MERGE statement. This information can be output to the console or saved to a target table and is often used for auditing purposes.
Example:
CREATE TABLE [Customer](
[CustomerID] [int] IDENTITY,
[FirstName] [varchar](50) NULL,
[LastName] [varchar](50) NULL,
)
DECLARE @Customer_Inserted_Log TABLE(
[CustomerID] [int],
[FirstName] [varchar](50) NULL,
[LastName] [varchar](50) NULL
)
INSERT INTO Customer
OUTPUT inserted.*
INTO @Customer_Inserted_Log -- without this INTO line will display the result to the console
VALUES('Lionel', 'Messi')
SELECT * FROM @Customer_Inserted_Log