Sử dụng trình kích hoạt sau khi chèn. Tham gia từ inserted
bảng giả thành Tb
trên khóa chính. Sau đó cập nhật các giá trị của desc. Một cái gì đó như:(Nhưng có thể không biên dịch)
CREATE TRIGGER TbFixTb_Trg
ON Tb
AFTER INSERT
AS
BEGIN
UPDATE Tb
SET DESC = SomeTransformationOf(i.DESC)
FROM Tb
INNER JOIN inserted i on i.Id = Tb.Id
END
GO
Kích hoạt này xảy ra sau khi quá trình chèn xảy ra, nhưng trước khi insert
câu lệnh hoàn thành. Vì vậy, các giá trị mới, không chính xác đã được đặt trong bảng mục tiêu. Trình kích hoạt này sẽ không cần thay đổi khi các cột được thêm vào, bị xóa, v.v.
Cảnh báo trước Các ràng buộc về tính toàn vẹn được thực thi trước khi kích hoạt sau khi kích hoạt. Vì vậy, bạn không thể đặt ràng buộc kiểm tra để thực thi dạng DESC thích hợp. Bởi vì điều đó sẽ khiến câu lệnh bị lỗi trước khi trình kích hoạt có cơ hội sửa chữa bất cứ điều gì. (Vui lòng kiểm tra lại đoạn này trước khi dựa vào nó. Đã lâu rồi tôi chưa viết đoạn kích hoạt.)