在SQL Server 2008中,我有一个场景,其中插入/更新时有一个包含复杂验证的表。这包括需要临时将XML输入转换为表格,以便根据永久表格验证其数据。SQL Server中“AFTER INSERT,UPDATE”触发器的行为
但是,我也有我经常更新不需要验证的简单整数列的场景。根据我读到的here,当我执行更新时,似乎SQL Server将返回临时内存中“插入”表中的整个行,而不仅仅是受影响的列。如果是这样,那么它就意味着每执行一次简单的整数更新,复杂的XML验证就会毫无用处地完成。
我是否正确理解这一点,如果是的话,我该如何解决这个需要通过存储过程插入/更新的问题?
我刚刚意识到为什么我从来没有使用触发器和总是使用存储过程插入/更新/删除。说“如果@xml不为空begin(validate)(update)end”更容易。 – IamIC 2010-11-28 07:50:40