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.