Ver Mensaje Individual
  #4  
Antiguo 10-11-2010
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Reputación: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Es verdad lo de la llave foranea, pero no resuelve todos los casos.
El error que tiene tu trigger parece ser que es que debes utilizar un bucle para seleccionar cada línea y borrarla.

No conozco SQL Server, pero supongo que debe ser algo así:

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

Resolver este problema te servirá por ejemplo cuando quieras guardar registros borrados en un log o hacer algunos recálculos sobre terceras tablas por cada registro borrado.
Responder Con Cita