Use um gatilho após a inserção. Junte-se a partir do
inserted
pseudo tabela para Tb
na chave primária. Em seguida, atualize os valores de desc. Algo como:(Mas pode não compilar) 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
Este gatilho ocorre após a inserção, mas antes de
insert
declaração completa. Portanto, os novos valores incorretos já estão colocados na tabela de destino. Esse acionador não precisará ser alterado à medida que as colunas forem adicionadas, excluídas etc. Advertência As restrições de integridade são impostas antes do disparo do gatilho posterior. Portanto, você não pode colocar uma restrição de verificação para impor a forma adequada de DESC. Porque isso faria com que a instrução falhasse antes que o gatilho tivesse a chance de corrigir qualquer coisa. (Por favor, verifique este parágrafo antes de confiar nele. Já faz algum tempo desde que escrevi um gatilho.)