![]() |
1
34
如果使用的是表变量,则无法执行此操作。如果它是一个表,您可以截断它或使用
使用表变量是最好的方法。 |
![]() |
2
33
截断表将转储所有数据,并重置标识种子。 否则,您可以使用此调用重置标识,同时保留任何数据:
|
![]() |
3
0
我建议您使用两个表变量。@table1在第一列上有一个标识种子。@表2的第一列相同,但没有标识种子。 当你循环你的过程时,
然后从这两个表中删除作为流程循环。 第一次通过时,@table2将在第一行中有一个从1开始的序列号。 第二次通过循环,您的第二个表可能在第一列中有序列号,从1081开始。但是如果你选择一个变量的最小值
然后可以更新@table2,使rowid从1开始,如下所示:
希望这有帮助 |
![]() |
4
0
当我想在使用SQL 2000时使用top和变量时,我就这样做了。基本上,添加记录,然后查看最小值。我也有同样的问题,注意到了这条线。删除表不会重置种子,尽管我认为使用go应该删除表和变量来重置种子。 @上面查询中的maxlimit是获取查询的前900个,由于表变量将具有不同的起始标识键,因此这可以解决该问题。 任何后续查询都可以减去该派生过程,使其插入为“1”等。 |
![]() |
5
-3
如果需要在while循环的每个循环中截断表变量,可以将
|
![]() |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
SoT · SQL Server中求和函数的工作方式 2 年前 |
![]() |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
![]() |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
![]() |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |