在银行业,他们将存储过程用于业务逻辑。它们的逻辑在数据库中移动,而不是在业务逻辑层中移动。
银行坚持存储过程的原因是什么?
问候
这对于我工作过的许多银行来说肯定不是这样。银行中的应用程序就像任何其他公司的应用程序一样,范围从几乎完全在存储过程中编码,到完全避开存储过程以支持 ORM 之类的东西。
至于为什么他们可能会选择将逻辑放在存储过程中?有时这是明智的做法。我知道 ALT.NET 人群(或者任何 NoSQL/ORM fanbois 适合您选择的平台)会让您相信存储过程是邪恶的,并且 ORM 是唯一合理的解决方案,但在现实世界中构建真正的应用程序需求不同,没那么简单。
存储过程在大型机上可能已经存在了 30 年。与此同时,客户语言来来去去。
无论如何,您必须定义“业务逻辑”:许多“业务逻辑”归结为“数据完整性”规则(例如“仅当子行聚合为零时才设置此字段”),这些规则需要是事务性的并且原子。
有关的:
简单地说,我的数据库代码将比您的客户端代码更长寿......