Cláusula OUTPUT

Creado por David Miralpeix, Modificado el Fri, 16 Feb 2024 a las 12:24 PM por David Miralpeix

La Cláusula OUTPUT permite retornar los registros resultantes de un update, insert o delete. 

Se puede retornar la salida en una tabla o directamente. En la sentencia OUTPUT haremos referencia a los datos eliminados o insertados usando inserted y deleted.

 

Por ejemplo, para ver lo que borramos escribiremos:

 

BEGIN TRAN 

Declare @Tab_Result TABLE (IdDoc int,IdPedido int, IdArticulo varchar(50))

 

DELETE FROM Pedidos_Cli_Lineas 

                OUTPUT deleted.$identity, deleted.IdPedido, deleted.IdArticulo

INTO @Tab_Result

WHERE IdEstado=0

 

SELECT * FROM @Tab_Result

ROLLBACK TRAN

 

Con las siguientes sentencias vemos directamente lo que escribimos, sin guardarlo en una segunda tabla (como hemos hecho en el ejemplo anterior):

 

Declare @Tab_Result TABLE (IdDoc int identity(1,1),IdPedido2 int, IdArticulo2 varchar(50))

 

INSERT INTO @Tab_Result (IdPedido2, IdArticulo2)

                OUTPUT inserted.$identity, inserted.*

SELECT IdPedido,IdArticulo

FROM Pedidos_Cli_Lineas 

WHERE IdEstado=0

<< Artículo anterior                                                                                                                                      Siguiente artículo >>

¿Le ha sido útil este artículo?

¡Qué bien!

Gracias por sus comentarios

¡Sentimos mucho no haber sido de ayuda!

Gracias por sus comentarios

¡Háganos saber cómo podemos mejorar este artículo!

Seleccione al menos una de las razones
Se requiere la verificación del CAPTCHA.

Sus comentarios se han enviado

Agradecemos su esfuerzo e intentaremos corregir el artículo