触发器和约束的区别

触发器和约束都能够限定数据的输入,但他们也有不同之处。

约束既可以接受现有的数据,也可以处理新的数据;但是触发器只接受新的数据。

相比触发器,约束在写入数据和错误率方面占有优势;但触发器能够处理一些较为复杂的业务,而约束则不能。

因此在限制数据输入时,建议仅当需要处理不能在约束中定义的较为复杂的业务逻辑以及需要保证分布于分布式数据库不同节点上的子表和父表的参照完整性时使用触发器。