日期:2014-05-18 浏览次数:20493 次
--update set a=a+@aa ,b=b+@bb,c=(a+@aa)/(b+@bb) 这样的sql 语句有没有并发问题? --另外问一下 update 的这样的一组数据 有没有比较效率的办法? create table #a (a int,b int, c int) insert into #a values(1,32,3) insert into #a values(2,2,33) insert into #a values(3,22,32) insert into #a values(4,2,34) insert into #a values(5,24,35) insert into #a values(6,25,3) insert into #a values(7,23,36) insert into #a values(8,26,37) insert into #a values(9,32,38) insert into #a values(0,12,39) insert into #a values(11,32,93) insert into #a values(12,24,53) insert into #a values(13,22,83) insert into #a values(14,23,31) select * from #a declare @aa int declare @bb int set @aa=1 set @bb=3 update #a set a=a+@aa ,b=b+@bb,c=(a+@aa)/(b+@bb) select * from #a a b c ----------- ----------- ----------- 1 32 3 2 2 33 3 22 32 4 2 34 5 24 35 6 25 3 7 23 36 8 26 37 9 32 38 0 12 39 11 32 93 12 24 53 13 22 83 14 23 31 (14 行受影响) (14 行受影响) a b c ----------- ----------- ----------- 2 35 0 3 5 0 4 25 0 5 5 1 6 27 0 7 28 0 8 26 0 9 29 0 10 35 0 1 15 0 12 35 0 13 27 0 14 25 0 15 26 0 (14 行受影响)
------解决方案--------------------
update set a=a+@aa ,b=b+@bb,c=(a+@aa)/(b+@bb) 这样的sql 语句有没有并发问题?
--> 理论上讲,任何DML语句都有并发问题.
另外问一下 update 的这样的一组数据 有没有比较效率的办法?
--> 这样写已经OK了,你还想从哪方面提高效率.
------解决方案--------------------