Ver Mensaje Individual
  #7  
Antiguo 11-02-2010
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Reputación: 23
ContraVeneno Va por buen camino
Cierto, cierto, con un trigger o disparador como dijo maese Roman y con la ayuda de maese Marcos:
Código SQL [-]
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TRIGGER RevisaStatus
   ON  TipoCambioDep
   AFTER INSERT, UPDATE
AS 
BEGIN
    SET NOCOUNT ON;
    Declare @Valor int  
    Set @Valor = 0
    
    Select @Valor = IsNull(Count(*), 0)
    From TipoCambioDep T
    Inner Join Inserted I on T.Departamento = I.Departamento
    Where T.Status <> 0
    
    If @Valor > 1 Begin
      RAISERROR ('Ya existe un registro activo para esta tabla', 16, 1)
      ROLLBACK TRANSACTION
    end
END
GO

Con eso obtengo el resultado que estamos buscando. Y a menos que alguien diga que me falta o falla algo, con esto lo tenemos solucionado.

Muchas gracias a todos por sus aportaciones.
__________________


Última edición por ContraVeneno fecha: 11-02-2010 a las 16:43:09.
Responder Con Cita