Introducción :
Trabajar con disparadores puede ser difícil y llevar mucho tiempo a veces. Los disparadores pueden ralentizar la salida del servidor y ejercer una presión adicional sobre los recursos del sistema. Mucha gente usa activadores para realizar un seguimiento de todos los datos que se han eliminado de las tablas. En lugar de usar disparadores, podríamos usar otro proceso, como se ve en el ejemplo a continuación. Tenga en cuenta que el siguiente arreglo no sustituye al activador de eliminación. Por otro lado, si solo queremos registrar las filas eliminadas, podríamos usar eso en lugar del disparador.
Ejemplo:
Vamos a crear dos tablas –
CREATE TABLE GeekTab1 (Id1 INT, Name1 VARCHAR(100)) GO CREATE TABLE GeekTab2 (Id2 INT, Name2 VARCHAR(100)) GO
Inserte datos de muestra en la tabla –
INSERT INTO GeekTab1 (Id1, Name1) VALUES(1,'Khushi'), (2, 'Komal') GO
Seleccionar datos de la tabla –
Select * from GeekTab1 GO
Producción –
Id1 | Nombre1 |
---|---|
1 | Khushi |
2 | Komal |
Eliminar de GeekTab1 e insertar en GeekTab2 –
DELETE FROM GeekTab1 OUTPUT deleted.Id1, deleted.Name1 INTO GeekTab2 WHERE Id1 = 1 GO
Seleccione datos de ambas tablas:
SELECT * FROM GeekTab1; GO SELECT * FROM GeekTab2; GO
Producción –
GeekTab1
Id1 | Nombre1 |
---|---|
2 | Komal |
GeekTab2
Id2 | Nombre2 |
---|---|
1 | Khushi |
Conclusión:
la cláusula OUTPUT se usa en la declaración DELETE en el caso anterior y ha documentado la declaración que se elimina de GeekTab1.
Publicación traducida automáticamente
Artículo escrito por khushboogoyal499 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA