我是新程序员
-
我所知道的是有2种方法来sql事务控制。但我想知道的是
1.1程序中什么时候使用transaction,数据库中什么时候使用transaction。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上随机问了一些陌生人,他们说……这并不是一个有力的论据。
- 将业务规则放入数据库(存储过程)或应用程序中是一场长期的宗教战争,无论任何人说什么,都没有明确的答案。
现在您对在字符串中传递多个详细记录的关注是正确的。这是瘸腿的。它应该是一个具有某种描述的数组。但是,在这种情况下,正确的方法是与您的上司一起改进存储过程的接口。
最后,底线是:当我们在团队中构建软件时,一致性是一个伟大的美德——即使这意味着使用次优方法。