EjemplosDuoc.es.tl
  Trigger
 
Ejemplo básico para la creación de un Trigger en Sqlserver.

CREATE TRIGGER T_AUDITORIAAPERTURAS -- NOMBRE TRIGGER
ON APERTURAS -- TABLA A AFECTAR
AFTER DELETE -- ACCION DE DISPARO
-- PUEDE SER TAMBIEN INSERT O UPDATE
AS
BEGIN

    -- SET NOCOUNT ON impide que se generen mensajes de texto
    -- con cada instrucción

    SET NOCOUNT ON;

    -- INSERTA EN LA TABLA PARA AUDITORIA LAS FILAS
    -- AFECTADAS CUANDO SE EJECUTO UN DELETE
    INSERT INTO APERTURASAUDITORIAS
    SELECT * FROM DELETED; -- DATOS BORRADOS
    -- TAMBIEN PUEDE SER INSERTED QUE ES USADO CUANDO
    -- SE REALIZA UN UPDATE O INSERT
    -- EN CAMBIO DELETED ES USADO CUANDO SE EJECUTA UN DELETE
    -- O UPDATE
END


Opción Instead of (en vez de), desecha la sentencia que gatilló el trigger y ejecuta
las sentencias que están dentro del bloque del trigger

ALTER TRIGGER T_EVITABAJOSUELDO
ON SALDO
INSTEAD OF UPDATE
AS
BEGIN
DECLARE @SUELDO INT
SELECT @SUELDO = SALDO FROM INSERTED
IF @SUELDO < 200000
BEGIN
    UPDATE SALDO SET
    SALDO = 1000000
END
ELSE
BEGIN
    UPDATE SALDO SET
    SALDO = @SUELDO
END
END

 
   
 
Este sitio web fue creado de forma gratuita con PaginaWebGratis.es. ¿Quieres también tu sitio web propio?
Registrarse gratis