MahmoudOmar Ответов: 1

Как я передаю параметр из C# для запуска запроса в SQL


я хочу сделать что-то до или вместо обновления, я создаю этот триггер ,

create trigger CarTriggerBeforeUpdate
on dbo.Cars
INSTEAD OF UPDATE
AS
BEGIN
   insert into CarTriggerUpdateDelete(Car_id, Car_No, Car_No_2)
   select Car_id, Car_No, Car_No_2 from Cars
   where Car_id = @Value //i want pass value here 
END


Что я уже пробовал:

как я это делаю я хочу вставить строку из таблицы в другую таблицу перед ее обновлением

1 Ответов

Рейтинг:
1

The Praveen Singh

Triggers cannot pass parameters - you have to operate within the database operation. Therefore, unless the Cars table has a CreateBy or LastUpdateBy referencing the id of the user making the change, you would need to wrap the INSERT into a stored procedure that would perform that check before performing the INSERT.

If by chance your Cars table has a CreateBy that contains the id of the user performing the change, then a trigger such as this below should work:


CREATE TRIGGER tg_Cars_Register ON dbo.Cars
AFTER INSERT AS
BEGIN
    IF EXISTS (SELECT * FROM INSERTED WHERE CreateBy <> 1110) BEGIN
        RAISERROR('Unauthorized parking', 16, 1)
        ROLLBACK
        RETURN
    END
END
GO


MahmoudOmar

я хочу вместо обновления строки из приложения c# вставить дату в таблицу, которую я создал, то есть я хочу