Gunakan pemicu setelah penyisipan. Gabung dari inserted
tabel semu ke Tb
pada kunci utama. Kemudian perbarui nilai desc. Sesuatu seperti:(Tapi mungkin tidak dikompilasi)
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
Pemicu ini terjadi setelah penyisipan terjadi, tetapi sebelum insert
pernyataan selesai. Jadi, nilai baru yang salah sudah ditempatkan di tabel target. Pemicu ini tidak perlu diubah karena kolom ditambahkan, dihapus, dll.
Peringatan Batasan integritas diterapkan sebelum pemicu setelah kebakaran. Jadi, Anda tidak dapat mengenakan batasan centang untuk menerapkan bentuk DESC yang tepat. Karena itu akan menyebabkan pernyataan gagal sebelum pemicu memiliki kesempatan untuk memperbaiki apa pun. (Silakan periksa kembali paragraf ini sebelum mengandalkannya. Sudah lama sejak saya menulis pemicu.)