Definición
INSERT
UPDATE
DELETE
Definición
CREATE TRIGGER Nombre del trigger
ON Nombre de la tabla afectada
FOR (Insert,delete,update)
AS
DECLARE @idfor Char(3)
SELECT @idfor=idformato FROM (Inserted,
Deleted)
UPDATE TbFormato
SET cantvideo=cantvideo+1
WHERE idformato=@idfor
Go
Administración de Activadores
(Creación, Modificación y
Eliminación)
CREATE TRIGGER .
Es una clase especial de procedimiento almacenado
que se ejecuta automáticamente cuando se produce un
evento en el servidor de bases de datos. Los
desencadenadores DML se ejecutan cuando un usuario
intenta modificar datos mediante un evento de
lenguaje de manipulación de datos (DML).
CREATE TRIGGER .
CREATE TRIGGER trigger_name
ON { table | view }
{ FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [
UPDATE ] [ , ] [ DELETE ] }
AS {procesos }
SINTAXIS
ALTER TRIGGER .
Modifica la definición de un desencadenador logon,
DDL o DML creado anteriormente por una instrucción
CREATE TRIGGER.
ALTER TRIGGER .
ALTER TRIGGER trigger_name
ON ( table | view )
(FOR | AFTER | INSTEAD OF ) { [ DELETE ] [ , ] [
INSERT ] [ , ] [ UPDATE ] }
AS { procesos }
SINTAXIS
DROP TRIGGER .
Quita uno o varios desencadenadores
DML o DDL de la base de datos actual.
DROP TRIGGER trigger_name
ON { DATABASE | ALL SERVER }
SINTAXIS
Ejemplos
Tenemos las siguientes tablas para realizar los siguientes Triggers.
se inserta un registro en la Tabla TbVideo se incrementa
en 1 en campo cantvideo de la tabla TbFormato
CREATE TRIGGER tr_InsertaVideoFormato
ON TbVideo
FOR Insert
AS
DECLARE @idfor Char(3)
SELECT @idfor=idformato FROM Inserted
UPDATE TbFormato
SET cantvideo=cantvideo+1
WHERE idformato=@idfor
Go
Update TbVideo 'VD0001',’El Aro 2
','2:50',15.00,12,'Terror','VCD',' Karol Smith'
SELECT * FROM TbVideo
elimina un registro en la Tabla TbVideo se disminuye en
1 en campo cantvideo de la tabla TbFormato
CREATE TRIGGER tr_EliminaVideoFormato
ON TbVideo
FOR Delete
AS
DECLARE @idfor Char(3)
SELECT @idfor=idformato FROM Deleted
UPDATE TbFormato
SET cantvideo=cantvideo-1
WHERE idformato=@idfor
Go
Delete from TbVideo where idvideo= 'VD0001'
Se comprueba : SELECT * FROM TbFormato
Trigger

Trigger

  • 2.
  • 3.
    Definición CREATE TRIGGER Nombredel trigger ON Nombre de la tabla afectada FOR (Insert,delete,update) AS DECLARE @idfor Char(3) SELECT @idfor=idformato FROM (Inserted, Deleted) UPDATE TbFormato SET cantvideo=cantvideo+1 WHERE idformato=@idfor Go
  • 4.
    Administración de Activadores (Creación,Modificación y Eliminación)
  • 5.
    CREATE TRIGGER . Esuna clase especial de procedimiento almacenado que se ejecuta automáticamente cuando se produce un evento en el servidor de bases de datos. Los desencadenadores DML se ejecutan cuando un usuario intenta modificar datos mediante un evento de lenguaje de manipulación de datos (DML).
  • 6.
    CREATE TRIGGER . CREATETRIGGER trigger_name ON { table | view } { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } AS {procesos } SINTAXIS
  • 7.
    ALTER TRIGGER . Modificala definición de un desencadenador logon, DDL o DML creado anteriormente por una instrucción CREATE TRIGGER.
  • 8.
    ALTER TRIGGER . ALTERTRIGGER trigger_name ON ( table | view ) (FOR | AFTER | INSTEAD OF ) { [ DELETE ] [ , ] [ INSERT ] [ , ] [ UPDATE ] } AS { procesos } SINTAXIS
  • 9.
    DROP TRIGGER . Quitauno o varios desencadenadores DML o DDL de la base de datos actual. DROP TRIGGER trigger_name ON { DATABASE | ALL SERVER } SINTAXIS
  • 10.
    Ejemplos Tenemos las siguientestablas para realizar los siguientes Triggers.
  • 11.
    se inserta unregistro en la Tabla TbVideo se incrementa en 1 en campo cantvideo de la tabla TbFormato CREATE TRIGGER tr_InsertaVideoFormato ON TbVideo FOR Insert AS DECLARE @idfor Char(3) SELECT @idfor=idformato FROM Inserted UPDATE TbFormato SET cantvideo=cantvideo+1 WHERE idformato=@idfor Go Update TbVideo 'VD0001',’El Aro 2 ','2:50',15.00,12,'Terror','VCD',' Karol Smith' SELECT * FROM TbVideo
  • 12.
    elimina un registroen la Tabla TbVideo se disminuye en 1 en campo cantvideo de la tabla TbFormato CREATE TRIGGER tr_EliminaVideoFormato ON TbVideo FOR Delete AS DECLARE @idfor Char(3) SELECT @idfor=idformato FROM Deleted UPDATE TbFormato SET cantvideo=cantvideo-1 WHERE idformato=@idfor Go Delete from TbVideo where idvideo= 'VD0001' Se comprueba : SELECT * FROM TbFormato