存储过程——程序中的事务vs数据库中的事务



我是新程序员

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

    1.1程序中什么时候使用transaction,数据库中什么时候使用transaction。1.2哪个更好(现在我认为SQL事务在程序中更好。但是我的老板想在数据库中使用sql事务

  2. 从第一个问题。当我向主表和明细表插入数据时。

    下面是我老板的存储过程

    SaveOrder( 
    @customerID int,
    @value decimal(18,2),
    @details varchar(max)
    )
    

我必须发送这样的数据

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

我不同意。但是他说"不想在程序中使用SQL事务"。

你怎么看这个?

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

    "我真的不知道我在说什么,所以我在StackOverflow上随机问了一些陌生人,他们说……这并不是一个有力的论据。
  1. 将业务规则放入数据库(存储过程)或应用程序中是一场长期的宗教战争,无论任何人说什么,都没有明确的答案。

现在您对在字符串中传递多个详细记录的关注是正确的。这是瘸腿的。它应该是一个具有某种描述的数组。但是,在这种情况下,正确的方法是与您的上司一起改进存储过程的接口。

最后,底线是:当我们在团队中构建软件时,一致性是一个伟大的美德——即使这意味着使用次优方法。

最新更新