【发布时间】:2011-05-28 13:54:06
【问题描述】:
我正在使用存储过程来访问我的数据库数据。我试图将业务逻辑放在代码中而不是存储过程中。但是我有一个案例我不知道如何解决:
我有一张类似Items(item_id, itemd_name, item_price) 的表格,里面有 700 个项目。
现在我想向客户端显示所有项目及其名称。 由于我为 Web 开发,我不想加载所有 700 项,而是使用分页 - 一次 40 项。
(当我写“加载”时,我的意思是存储过程返回数据表,我编写的代码将每一行转换为一个项目类 - 这就是我不想加载 700 个项目的原因,它会处理很多数据我真的不需要)
所以我编写了知道获取 40 项的存储过程。
现在,我需要汇总所有商品的价格并加上 16% 的税。
问题是我无法使用从该商店过程中获得的 40 件商品,因为我需要汇总所有 700 件商品的价格和税金。
我找到的唯一解决方案是使用另一个存储过程,该过程将返回价格+税金的总和。
【问题讨论】:
-
你总结数据的依据是什么?除了当前页面的 40 个项目之外,您能否获得另一个结果集,其中包含这些项目 id 的 SUMed up 值?一旦你拥有了 id 和它们的聚合 - 你的业务逻辑/税收计算等仍然可以应用于你的应用程序逻辑而不是数据库。
标签: design-patterns database-design stored-procedures business-logic