说我有一个表变量:
DECLARE @MyTableVar TABLE (ID INT IDENTITY(1,1),SomeData NVARCHAR(300))
在我插入250行后,我需要“重新开始”表.我这样做:
DELETE FROM @MyTableVar
有什么我可以做的表变量,以便这样:
insert into @MyTableVar Values("TestData") select * from @MyTableVar
将返回:
_______________________________ | ID | SomeData | |___________|_________________| | | | | 1 | TestData | |___________|_________________|
而不是这样:
_______________________________ | ID | SomeData | |___________|_________________| | | | | 251 | TestData | |___________|_________________|
解决方法
而是依靠一个身份,为什么不使用新的排名功能,例如Row_Number
Insert @MyTableVar( Id,Value ) Select Row_Number() Over ( Order By Value ),Value From SomeOtherTable