【发布时间】:2017-03-29 03:52:41
【问题描述】:
我在 Sql Server 上运行了一个简单的 sql 查询,但它并没有停止执行。
可以有循环吗?请帮忙 这是第一个表的一小部分
Depo SatisID SatisSira UrunID Satici KdvKod KDVYuzde Miktar AZ01 20001 1 3788898 999 AZ 18.00 1 AZ01 20002 1 3788898 999 AZ 18.00 1 AZ01 20003 1 3876390 999 AZ 18.00 1 AZ01 20003 2 3793202 999 AZ 18.00 1 AZ01 20003 3 4046508 999 AZ 18.00 1 AZ01 20003 4 3843387 999 AZ 18.00 1 AZ01 20003 5 3850608 999 AZ 18.00 1 第二个BaslikID Sira UrunID Miktar Fiyat Depo 20001 1 3792703 1 1 AZ01 20002 1 4067131 1 1 AZ01 20003 1 3251881 1 1 AZ01 20003 2 3251883 1 1 AZ01 20003 3 3788887 1 1 AZ01 20003 4 3788890 1 1 AZ01 20004 1 3761260 2 1 AZ01
【问题讨论】:
-
当子查询返回两条 UrunID 值相同但 Miktar 值不同的记录时,您认为会发生什么。 Table_A 中的记录会得到这两者中的哪一个?
-
更新中确实没有循环之类的东西,但是你可能有阻塞,或者如果你的表很大,这已经不是一个简单的查询了。
-
没有循环;您必须更新大量行,并且您的 SQL Server 功能不够强大,无法执行该事务,或者被其他事务阻塞。
-
执行 sp_who2 并检查是否有其他会话阻止您的会话
-
你的表上是否有任何索引(我正在查看 UrunID 列)
标签: sql sql-server