---- УРЗА_Коммутаторы - FOR INSERT, UPDATE ----
  -- при выставлении значения поля Код_коммутатора проверяется, что такой код есть в таблице Коммутатор
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[OnDefenceCommutatorUpdate]') and xtype = N'TR')
drop trigger [dbo].[OnDefenceCommutatorUpdate]
GO

CREATE TRIGGER OnDefenceCommutatorUpdate ON [dbo].[УРЗА_Коммутаторы] 
FOR INSERT, UPDATE
AS
  if UPDATE(Код_коммутатора)
  begin
    if exists (SELECT 1 FROM inserted WHERE inserted.Код_коммутатора IS NOT NULL AND inserted.Код_коммутатора NOT IN (SELECT Код_коммутатора FROM Коммутатор))
    BEGIN
      RAISERROR ('Ошибка при попытке установить Код_коммутатора (таблица УРЗА_Коммутаторы). Несуществующий Код_коммутатора',16,1)
      ROLLBACK TRANSACTION
    END
  end