本人学.net不久,在学习用.net操作数据库时想到一个问题。asp.net对数据库进行基本的增删改查这四种操作时,四个不同的操作写成了四个存储过程;但如果我把四个存储过程写成一个存储过程,让它接收不同参数来执行不同操作。这两种写法的安全性和执行效率,哪种比较好呢?

解决方案 »

  1.   

    写一起 无所谓,只是看起来 太多 了
    有兴趣可以加入.net开源交流群 共同讨论学习69594961
      

  2.   

    呵,这样做很不好,就如楼上所言,在逻辑上没有关系的功能是很难维护的,就跟你给文件起名一样,你把文件起名为 20110720工作计划.doc ,等过了10年之后,你再看这个文件,一眼就能知道他是做什么的,可如果你把文件名起为 assdfdsfg.doc 你能怎么办?软件工程其实涉及到的技术方面并不多,更多的是方式方法的问题,要兼顾到现在与未来,采取最省时省力的做法,你把多个存储过程写在一起。对于小项目而言完全没有问题。可如果是大项目,是其他的人要修改你的存储过程,那你存储过程里多余的条件判断会增加维护人员的工作时间,浪费别人的生命 :)总结一下,对LZ的善于思考表示欣赏与鼓励,望继续保持 :)
      

  3.   

    还有一点就是逻辑上一致的东西,放在一起很容易产生混乱,一切都要按照逻辑来,就LZ所说的情况而言,如果我要对增删改查进行权限上的控制呢?我想让某一组用户能够查询但不能修改,另一组则可以,如果按照LZ的实现,存储过程都放在一起,那必然加大了权限控制实现的复杂性,得不偿失。
      

  4.   

    如果存储过程里 存在大量if else 嵌套  那十有八九是在滥用存储过程。  如果做些业务逻辑稍复杂的网站, 楼主肯能就会明白 代码分层 与 存储过程 的关系了。