程序中的事务与数据库中的事务

时间:2013-01-11 04:14:57

标签: database stored-procedures sqltransaction

我是新程序员

  1. 我所知道的是有2种方法来进行sql事务控制。但我想知道的是

    1.1应该在程序中使用事务时何时应该在数据库中使用事务。 1.2哪个更好(现在我认为程序中的sql事务更好。但是我的老板想在数据库中使用sql事务)

  2. 从第一个问题开始。当我将数据插入主表和详细信息表时。

    以下是我老板的存储过程

    SaveOrder( 
    @customerID int,
    @value decimal(18,2),
    @details varchar(max)
    )
    
  3. 我必须发送数据......

    SaveOrder(@customerID = 1,@value = 2500,@details = '(1,'apple',2,50),(2,'orange',3,70),(3,'banana',4,120)')
    

    我不同意。但他说“不想在程序中使用sql事务。”

    你觉得这个怎么样?哪个更好。

1 个答案:

答案 0 :(得分:1)

你说你是一个新的程序员。所以我强烈建议你做老板说的话。不是因为他是你的老板而你是新手而是因为:

  1. “我不确定我在谈论什么,所以我在StackOverflow上问了一些随机的陌生人,他们说...”并不是一个强有力的论据。
  2. 将业务规则放在数据库(存储过程)或应用程序中是一场长期存在的宗教战争,无论有人说什么,都没有明确的答案。
  3. 现在你担心在字符串中传递多个细节记录是正确的。那太蹩脚了。它应该是一些描述的数组。但是,在这种情况下,正确的方法是与您的老板合作以改进存储过程的界面。

    最后,最重要的是:当我们在团队建设中工作时,软件一致性是一个很好的优点 - 即使它意味着使用次优方法。