C#中直接开启和提交事务,与在存储过程中调用事务比起来有哪些优缺点?我个人倾向于交由存储过程处理,而我的同事喜欢在C#中完成,不知道孰优孰劣,请有经验的来谈谈。

解决方案 »

  1.   

    嗯,我也觉得交给存储过程好,除非C#自己执行SQL语句,或者C#要单独调用多个存储过程,一个执行失败就全部回滚,但那样就必须把存储过程中的事务取消,不然存储过程中的事务会单独提交。
    总之写在存储过程中灵活,方便修改,写在程序里写死了,不方便修改,也不方便阅读和理解。
      

  2.   

    developer应该选择在程序内完成,DBA则比较倾向存储过程,从移植性角度考虑存储过程不利于迁徙数据库。