Ver Mensaje Individual
  #1  
Antiguo 10-11-2010
Avatar de tgsistemas
tgsistemas tgsistemas is offline
Miembro
 
Registrado: dic 2003
Ubicación: Barcelona
Posts: 149
Reputación: 21
tgsistemas Va por buen camino
Trigger para eliminar en cascada master/detail

Hola a tod@s :

trabajo con D7, tengo una bbdd en SQL 2005 Express con unas tablas Master / Detail y he creado el siguiente trigger en la tabla Master (AREC01E) para que al eliminar un registro, elimine en cascada los registros de la tabla Detail (AREC02E) que le corresponden.

El trigger es :

Código SQL [-]
ALTER TRIGGER [dbo].[del_areae] ON [dbo].[AREC01E] for delete as
declare @CDGOTEMP integer
begin
  SELECT @CDGOTEMP = CDGO FROM DELETED
  DELETE FROM AREC02E WHERE CDGOCAB = @CDGOTEMP
end

el trigger funciona correctamente si la tabla detail (AREC02E) tiene un único registro pero el problema viene cuando la tabla detail tiene más de un registro y produce el
Código:
"error información de columna clave insuficiente o incorrecta, demasiadas filas afectadas por la actualización"
qué es lo que estoy haciendo mal ???

muchas gracias a tod@s por la ayuda
__________________
Toni | blog
Responder Con Cita