miércoles, 9 de noviembre de 2011

Triggers en sql

Triggers:

  • Implementar y comprobar un trigger que contabilice el número de participantes en AJEDREZ
Escribimos en el Query:
CREATE TRIGGER number_Participantes ON PARTICIPANTE
FOR INSERT,UPDATE
AS BEGIN
    DECLARE @N INT
        SELECT @N = COUNT(*)
        FROM PARTICIPANTE_HOTEL PH

     PRINT @N
END 
Luego realizamos la consulta:
INSERT INTO PARTICIPANTE
(C_ASOCIADO, C_PAIS, N_NOMBRE, T_DIRECCION, D_FECHA_NAC)
 VALUES
 ( 'A11', 'P1', 'Julio Qwerty', 'Av. Universidad', NULL )

  • Implementar y comprobar un trigger que contabilice el número partidos que participo un Jugador en CAMPEONATO
Escribimos en el Query:
CREATE TRIGGER Numero_Partidos ON JUG_PARTIDO
FOR INSERT,UPDATE
AS BEGIN
    SELECT C_JUGADOR, COUNT(*)
    FROM JUG_PARTIDO J
    GROUP BY J.C_JUGADOR
END 
Luego realizamos la consulta:
INSERT INTO JUG_PARTIDO
(C_JUGADOR,NRO_PARTIDO,N_POSICION,NRO_CAMISETA,
 F_EXPULSADO,F_AMONESTADO,F_GOLEADOR)
 VALUES
 ('J19', 1, 'DELANTERO', 11, NULL, NULL, NULL )

  • Implementar mediante trigges la auditoria de participantes en AJEDREZ
Escribimos en el Query:
CREATE TRIGGER Auditoria ON PARTICIPANTE
FOR INSERT
AS BEGIN
  DECLARE @N VARCHAR(3)
  SELECT @N = C_ASOCIADO
  FROM INSERTED

  PRINT 'Codigo : ' + @N
  PRINT 'Fecha de insercion : ' + CONVERT(VARCHAR(50),GETDATE())
END 
Luego realizamos la consulta:
INSERT INTO PARTICIPANTE
(C_ASOCIADO,C_PAIS,N_NOMBRE,T_DIRECCION,D_FECHA_NAC)
VALUES
('A12','P1','Carlos Mariategui','Calle Los Geranios',NULL)

No hay comentarios:

Publicar un comentario