我知道触发器可以用来验证存储的数据以保持数据库的一致性。但是,为什么不先在应用程序端对数据进行验证,然后再将其存储到数据库中呢?
例如,我们存储客户,并且我们想要执行一些在DDL级别上不容易完成的验证。 https://severalnines.com/blog/postgresql-triggers-and-stored-function-basics
另一个例子是审计。
更新资料
触发器和数据库事务如何一起工作。例如,如果我想对插入的数据进行验证。它是在事务内部完成的。之前发生了什么:事务已提交或触发器已执行?
However, why not perform validation of data on the application side before storing them into the database?
好吧,这两个不是互斥的。您可能会在双方上验证不同的内容。尽管应用程序侧的验证以业务为中心,但数据库上的验证更以数据为中心。考虑由多个不同应用程序提供的数据库。