У меня есть SQL Server триггер "вместо вставки", который заполняет один столбец (PromoCode). Все работает отлично, но мне не нравится тот факт, что мне пришлось жестко закодировать столбцы в реальном выражении INSERT:
CREATE TRIGGER PopulateOrderPromoCode ON Order
INSTEAD OF INSERT
AS BEGIN
--// Get the Promo Code
DECLARE @PromoCode int;
EXEC GetPromoCode @PromoCode OUTPUT;
--// Insert the order with the new Promo Code
INSERT INTO Order (Id, CustomerId, PromoCode)
SELECT Id, CustomerId, @PromoCode FROM inserted;
END
Я бы предпочел просто заменить значение внутри вставленного. PromoCode на @PromoCode и затем мог бы использовать:
INSERT INTO Order
SELECT * FROM inserted;
Можно ли это сделать?