Sql-Server
幫助創建觸發器
我對在插入後創建觸發器有很多疑問,在進入新航班後檢查它是否是指定飛機的第一次飛行。
你能幫我麼
這應該可以讓您入門,請參見下文。
CREATE TRIGGER trgFlight_Inaugural ON dbo.Flight AFTER INSERT AS BEGIN SET NOCOUNT ON; ;WITH CTE_InaguralFlight AS ( SELECT I.registrationNumber , I.departureDate , A.[description] FROM INSERTED AS I INNER JOIN dbo.Aircraft AS A ON A.registrationNumber = I.registrationNumber WHERE NOT(A.[description] LIKE 'Inaugural flight on%') ) UPDATE CTE_InaguralFlight SET [description] = 'Inaugural flight on ' + CONVERT(NVARCHAR(20), departureDate, 120); END
我唯一擔心的是
$$ Description $$可能包含其他東西?在這種情況下,這將需要更新。但如果可能的話,我認為 Aircraft 表應該有一個專用於 InauguralFlightDate 的欄位,如果這是您要跟踪的內容。