Ayuda con Trigger

11/05/2004 - 19:18 por Albert No Einstein | Informe spam
Hola, a ver si me pueden ayudar, necesitaría si me pueden
guiar con un cód. para un triger, para que al insertar en
una tabla, o modificar algún dato existente en ella, en
otra me genere un reporte de la columna y nuevo valor,
algo así como

Tabla Alumno: NyA, Materia, Nota, Concepto
Si se hace un insert/update: Pepe, Matemática, 8, Bueno
y que en tabla ReporteAlumnos me muestre en una fila:
Campo Valor NyA
NyA Pepe Pepe
Materia Matemática Pepe
Nota 8 Pepe
Concepto BUeno Pepe

y que si hay un update, pero solo del concepto, solo se
agregue este:
Concepto Bueno
 

Leer las respuestas

#1 ulises
11/05/2004 - 20:38 | Informe spam
Me parece que podría ser algo como esto (sin probar):

CREATE TRIGGER trInsertaRegistro
ON Alumno
FOR INSERT
AS
INSERT INTO ReporteAlumnos ( campo, valor, nya )
SELECT 'NyA', nya, nya FROM inserted
INSERT INTO ReporteAlumnos ( campo, valor, nya )
SELECT 'Materia', materia, nya FROM inserted
INSERT INTO ReporteAlumnos ( campo, valor, nya )
SELECT 'Nota', nota, nya FROM inserted
INSERT INTO ReporteAlumnos ( campo, valor, nya )
SELECT 'Concepto', concepto, nya FROM inserted

CREATE TRIGGER trActualizaRegistro
ON Alumno
FOR UPDATE
AS
INSERT INTO ReporteAlumnos ( campo, valor, nya )
SELECT 'Materia', i.materia, i.nya
FROM inserted i join deleted d on i.nya = d.nya
WHERE i.materia <> d.materia
INSERT INTO ReporteAlumnos ( campo, valor, nya )
SELECT 'Nota', i.nota, i.nya
FROM inserted i join deleted d on i.nya = d.nya
WHERE i.nota <> d.nota
INSERT INTO ReporteAlumnos ( campo, valor, nya )
SELECT 'Concepto', i.concepto, i.nya
FROM inserted i join deleted d on i.nya = d.nya
WHERE i.concepto <> d.concepto

Saludos,
Ulises


Hola, a ver si me pueden ayudar, necesitaría si me pueden
guiar con un cód. para un triger, para que al insertar en
una tabla, o modificar algún dato existente en ella, en
otra me genere un reporte de la columna y nuevo valor,
algo así como

Tabla Alumno: NyA, Materia, Nota, Concepto
Si se hace un insert/update: Pepe, Matemática, 8, Bueno
y que en tabla ReporteAlumnos me muestre en una fila:
Campo Valor NyA
NyA Pepe Pepe
Materia Matemática Pepe
Nota 8 Pepe
Concepto BUeno Pepe

y que si hay un update, pero solo del concepto, solo se
agregue este:
Concepto Bueno
.

Preguntas similares