Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/07/2006, 12:06
julioctorresg
 
Fecha de Ingreso: julio-2006
Mensajes: 55
Antigüedad: 18 años, 5 meses
Puntos: 0
Trigger Actualizar Cupos

BUENAS AMIGOS DEL FORO TENGO UN PROBLEMA QUE POR IGNORANCIA NO LOGRO RESOLVER
TENGO 2 TABLAS

<CURSOS>
CODIGO
NOMBRE
CUPOS
INSCRITOS

<INSCRITOS>
CEDULA
CODIGO_CURSO

TENGO DOS TRIGGER PARA LA TABLA INSCRITOS

CREATE TRIGGER [DelActividades] ON dbo.INSCRITOS
FOR DELETE
AS

BEGIN
DECLARE @Codigo Varchar(2)
SET @Codigo =(SELECT CODIGO_CURSO FROM Deleted)

UPDATE CURSOS
SET inscritos=(SELECT COUNT(Cedula) FROM INSCRITOS WHERE codigo_CURSO=@Codigo)
WHERE CODIGO=@Codigo

END

CREATE TRIGGER [DelActividades] ON dbo.INSCRITOS
FOR INSERT
AS

BEGIN
DECLARE @Codigo Varchar(2)
SET @Codigo =(SELECT CODIGO_CURSO FROM Deleted)

UPDATE CURSOS
SET inscritos=(SELECT COUNT(Cedula) FROM INSCRITOS WHERE codigo_CURSO=@Codigo)
WHERE CODIGO=@Codigo

END


SON DOS UNO PARA CUANDO BORRAMOS UN REGISTRO ACTUALIZA EN LA TABLA CURSOS EL TOTAL DE INSCRITOS
Y OTRO PARA LA INSERCION QUE TAMBIEN ACTUALIZA LA MISMA TABLA EL TOTAL DE INSCRITOS

EL PROBLEMA ES CUANDO ALGUIEN SE CAMBIA DE CURSO OSEA UN UPDATE DEBO ACTUALIZAR TANTO EL CURSO EN QUE ESTABA COMO EN EL QUE VA A ESTAR OSEA ALGO ASI EN PSEUDOCODIGO

ACTUALIZA CURSO
ASIGNANDO INSRITOS A LA SUMA DE LOS INSCRITOS DONDE CODIGO= NUEVO CURSO Y TAMBIEN VIEJO CURSO
ES LO MISMO QUE DECIR NUEVO =NUEVO+1
VIEJO =VIEJO-1 ;

EL ROLLO ES QUE CON LA TABLA LOGICA INSERTED, O DELETE NO CAMINA PORQUE NO ESTOY NI INSERTANDO NI BORRANDO SOLO CAMBIANDO
DE REPENTE PARA USTEDES CON SU EXPERIENCIA ESTO ES UNA TONTERIA PERO PARA ESO ESTOY ACA ....PARA APRENDER DE LOS QUE SABEN

AGRADECIDO ....