CREATE PROCEDURE [Entradas_Add] (@Fecha [datetime], @IdProveedor [int], @Factura [varchar](15), @FacturaFecha [datetime], @IVAPorcentaje [decimal](6,2), @IVA [money], @Importe [money], @IdUsuario [varchar](20), @nIdEntrada [int] OUTPUT) AS BEGIN TRANSACTION EntradasAdd INSERT INTO [Sitra].[dbo].[Entradas] ( [Fecha], [IdProveedor], [Factura], [FacturaFecha], [IVAPorcentaje], [IVA], [Importe], [IdUsuario]) VALUES ( @Fecha, @IdProveedor, @Factura, @FacturaFecha, @IVAPorcentaje, @IVA, @Importe, @IdUsuario) SET @nIdEntrada = IDENT_CURRENT('Entradas') COMMIT TRANSACTION EntradasAdd GOSupongo que IDENT_CURRENT() me devolverá el Identity generado al momento de esa transacción.