我正在开始一个程序的工作,这个程序可能最自然地被描述为数据库表上的一批计算,并且将每月执行一次。所有输入都在Oracle数据库表中,所有输出都将写入Oracle数据库表。该程序应该在未来许多年内保持可维护性。
将其实现为一系列存储过程似乎很简单,每个存储过程执行一个合理的转换,例如根据某些业务规则在部门之间分配成本。然后,我可以编写单元测试来检查每个转换的输出是否如我所期望的那样。
用PL/SQL来做这一切是不是一个坏主意?您是否更愿意使用典型的面向对象编程语言(如C# )进行繁重的批处理计算?使用以数据库为中心的编程语言,比如PL/SQL,不是更有表现力吗?
发布于 2008-09-17 00:25:54
只要您需要执行的计算能够在PL/SQL中充分且可读地捕获到,那么只使用PL/SQL将是最有意义的。
真正的问题在于可维护性--编写不可维护的SQL非常容易,因为一旦脱离了简单的SQL DML,每个RDBMS都有不同的语法和不同的函数集,而且没有真正的格式化标准。评论等。
https://stackoverflow.com/questions/78626
复制相似问题