SQL Trigger предотвращает удаление в одной строке - PullRequest
0 голосов
/ 01 февраля 2019

У меня есть таблица, в которой есть ряд данных, которые я не хочу, чтобы кто-нибудь удалил.Имя таблицы - ProjectInProcessData.Я хочу убедиться, что данные с ID 6050 не могут удалить.Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019
    Create Trigger [dbo].[triggerPreventDeleteFormula]
         ON [dbo].[AHSC_Project_InprocessData]
    INSTEAD OF DELETE 
    AS
    BEGIN
      IF EXISTS(
    SELECT * 
    FROM deleted d
    where d.AHSC_Project_InprocessData_ID = '6610' or   d.AHSC_Project_InprocessData_ID = '6666'
    )
   BEGIN
    ROLLBACK;
    RAISERROR('Can not delete this record: this record contains default formula',16,1);
   END
   ELSE
     BEGIN
      DELETE [AHSC_Project_InprocessData]
       WHERE EXISTS (Select * from deleted d where d.AHSC_Project_InprocessData_ID = [AHSC_Project_InprocessData].AHSC_Project_InprocessData_ID)
      END
   END
0 голосов
/ 01 февраля 2019

использовать, где условие во время удаления

delete  from ProjectInProcessData  where id!=6050
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...