在服务器端的代码中写sql还是使用存储过程?

接手维护一个项目,c#实现,.net框架,Model,Dao,Bussiness分层架构。
项目中的DB操作(增删改查)全部用存储过程实现。
我可以想到的坏处是:

  • 如果更换数据库,则工作量会非常大。
  • 接手项目维护,或者参与开发的人都必须掌握对应数据库的存储过程写法。

想问下全部用存储过程做有什么好处?
stackoverflow上有人给出从安全角度考虑的好处:

这个好处不是特别有用吧!
还有其他的吗?

查看回复