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

Database 程序中的事务与数据库中的事务,database,stored-procedures,sqltransaction,Database,Stored Procedures,Sqltransaction,我是新程序员 我所知道的就是有两种方式来控制sql事务。但我想知道的是 1.1何时应在程序中使用事务,何时应在数据库中使用事务。 1.2哪个更好(现在我觉得程序中的sql事务更好,但我老板想在数据库中使用sql事务) 从第一个问题开始。当我向主表和明细表插入数据时 下面是我老板的存储过程 SaveOrder( @customerID int, @value decimal(18,2), @details varchar(max) ) 我必须发送数据,比如 SaveOrder(@custom

我是新程序员

  • 我所知道的就是有两种方式来控制sql事务。但我想知道的是

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

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

    下面是我老板的存储过程

    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上随机问了一些陌生人,他们说……”这不是一个有力的论点
  • 将业务规则放在数据库(存储过程)或应用程序中是一场长期的宗教战争,无论任何人怎么说,都没有明确的答案

  • 现在,您关心在一个字符串中传递多个细节记录是对的。那太差劲了。它应该是某种描述的数组。但是,在这种情况下,正确的方法是与您的上司一起改进存储过程的接口


    最后,底线是:当我们在团队中工作时,软件的一致性是一个很大的优点——即使这意味着使用次优的方法

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

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

  • 现在,您关心在一个字符串中传递多个细节记录是对的。那太差劲了。它应该是某种描述的数组。但是,在这种情况下,正确的方法是与您的上司一起改进存储过程的接口


    最后,底线是:当我们在团队中工作时,软件的一致性是一个很大的优点——即使这意味着使用次优的方法

    最终,事务是在数据库(或DTC)中控制/实现的,因此您的问题没有意义。我的意思是,如何插入一条订单记录。和订单详细信息的多个记录。如果我不想发送多个详细信息记录的字符串。我应该在程序中使用SqlTransaction吗?最终,事务是在数据库(或DTC)中控制/实现的,所以你的问题没有意义。我的意思是,如何插入一条订单记录。和订单详细信息的多个记录。如果我不想发送多个详细信息记录的字符串。我应该在程序中使用SqlTransaction吗?“现在您应该关心在一个字符串中传递多个细节记录了。”是的,我是。谢谢你的回答。我会说“现在你关心在一个字符串中传递多个细节记录是对的。”。谢谢你的回答。我会