Hola
Te has olvidado decir que Servidor SQL utilizas. Parece Transact-SQL, o sea SQL-Server ¿ correcto ?.
En ese caso puedes utilizar la cláusula IF UPDATE(Campo)
Ejplo.
Código:
CREATE TRIGGER Actualiza_Estado_Cmpnas ON CMPNAS FOR UPDATE AS
declare @CDGOCMPNATEMP integer, @ACTIVOTEMP integer
begin
IF UPDATE(Activo)
BEGIN
SELECT @CDGOCMPNATEMP = CDGO, @ACTIVOTEMP = ACTIVA FROM INSERTED
UPDATE CMPNASLIN SET ACTIVO = @ACTIVOTEMP WHERE CDGOCMPNA = @CDGOCMPNATEMP
UPDATE CMPNASLINSUP SET ACTIVO = @ACTIVOTEMP WHERE CDGOCMPNA = @CDGOCMPNATEMP
UPDATE FCTRASCAB SET ACTIVA = @ACTIVOTEMP WHERE CDGOCMPNA = @CDGOCMPNATEMP
end
end
Saludos.