SQL Server Trigger после вставки обновления и удаления

Я собираюсь перечислить 3 разных подхода к решению этой проблемы:

  1. Использование очень легкого пакета npm: установите live-server , используя npm install -g live-server. Затем перейдите в этот каталог, откройте терминал и введите live-server и нажмите enter, страница будет отправлена ​​на localhost:8080. БОНУС: он также поддерживает горячую перезагрузку по умолчанию.
  2. Используя небольшое приложение Google Chrome , разработанное Google: затем установите приложение, перейдите на вкладку приложений в Chrome и откройте приложение. , В приложении укажите его в нужную папку. Ваша страница будет подана!
  3. Изменение ярлыка Chrome в окнах: создание ярлыка браузера Chrome. Щелкните правой кнопкой мыши значок и откройте свойства. В свойствах отредактируйте target до "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="C:/ChromeDevSession" и сохраните. Затем с помощью Chrome откройте страницу с помощью ctrl+o. ПРИМЕЧАНИЕ. НЕ используйте этот ярлык для регулярного просмотра.

0
задан a_horse_with_no_name 4 March 2019 в 07:16
поделиться

1 ответ

Поскольку в SQL Server нет триггеров BEFORE INSERT для изменения этой вставки до ее завершения, я бы использовал триггер INSTEAD OF INSERT (ваш код триггера выполняется вместо обычной вставки, так что вы можете добавить свои проверки и / или дополнительные действия).

Этот образец триггера будет вставлять строки в A только в том случае, если их нет в B:

CREATE TRIGGER tr_a_ioi ON A
INSTEAD OF INSERT 
AS BEGIN 
  insert into A 
         select I.* 
         from inserted I
              left join B on B.PK_Field = I.PK_Field
         where B.PK_Field is null -- no corresponding row is found in B   
END

Вы можете написать аналогичные триггеры INSTEAD OF UPDATE и INSTEAD OF DELETE для выполнения дополнительных проверок или действий при попытке обновить или удалить строки в A.

0
ответ дан Marc Guillot 4 March 2019 в 07:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: