-- не позволяем выставлять дублирующиеся адреса
CREATE TRIGGER OnLegalEntitiesUpdate ON [dbo].[LegalEntities] 
FOR INSERT, UPDATE
AS
  if exists(
    select 1 
    from inserted
    inner join LegalEntities on LegalEntities.AddressID = inserted.AddressID 
    where inserted.AddressID IS NOT NULL AND inserted.LegalEntityID <> LegalEntities.LegalEntityID)
  begin
    RAISERROR ('Значение поля AddressID в таблице LegalEntities должно быть уникальным',16,1)
    ROLLBACK TRANSACTION
  end
