SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme
Florin Angelescu
Instructor
-- INSERT tetikleyicisini tetikler
INSERT INTO Orders [...];
-- Saklı yordamı çalıştırır
EXECUTE sp_DailyMaintenance;
Şunlar için kullanılır:
Şunlar için kullanılır:
INSERT veya UPDATE kullanılır-- Tetikleyici gövdesinde kullanılır
[...]
UPDATE
SET TotalAmount = Price * Quantity
[...]
-- Sütun tanımı
[...]
TotalAmount AS Price * Quantity
[...]
CREATE TABLE [SalesWithPrice]
(
[OrderID] INT IDENTITY(1,1),
[Customer] NVARCHAR(50),
[Product] NVARCHAR(50),
[Price] DECIMAL(10,2),
[Currency] NVARCHAR(3),
[Quantity] INT,
[OrderDate] DATE DEFAULT (GETDATE()),
[TotalAmount] AS [Quantity] * [Price]
);
CREATE TRIGGER [SalesCalculateTotalAmount]
ON [SalesWithoutPrice]
AFTER INSERT
AS
UPDATE [sp]
SET [sp].[TotalAmount] = [sp].[Quantity] * [p].[Price]
FROM [SalesWithoutPrice] AS [sp]
INNER JOIN [Products] AS [p] ON [sp].Product = [p].[Product]
WHERE [sp].[TotalAmount] IS NULL;
SQL Server'da Tetikleyiciler Oluşturma ve Optimize Etme