我应该使用单个过程进行多个操作,还是将它们分成多个过程?

时间:2009-04-08 05:52:37

标签: mysql stored-procedures

我正在为数据库中的几个操作编写存储过程,我只是想知道:

  • 为表格设计单个过程是否更好,可以执行添加,修改,删除操作或...
  • 我应该为每项操作设计单独的程序

哪种方法会更好?

5 个答案:

答案 0 :(得分:3)

我会说每个操作的单独存储过程是最好的。否则你的程序中就会得到太多的逻辑。

此外,大多数操作需要不同的参数。对于删除,您只需要主键,但对于插入,您必须提供所有不可为空的列的值。当您只想删除记录时,不希望提供虚拟插入参数。

答案 1 :(得分:2)

至少你需要使用if ... else逻辑的几个SQL命令。我发现,如果他们完成一件事,存储过程就更容易管理。

这是来自正常程序开发的可转移概念,但它更适用于存储过程。

好处:更容易测试,更有意义的SP名称(例如UpdateCustomer而不是CustomerHandler),更少的耦合/更好的内聚,更简单的程序,更少的参数。

答案 2 :(得分:0)

每个程序一次操作。

答案 3 :(得分:0)

你不爱鲍勃叔叔:Single responsibility principle

答案 4 :(得分:0)

最好针对不同的逻辑实施不同的程序。

这样,您可以轻松管理代码并减少依赖关系。