Is there anyway to reset the identity of a Table Variable?

前端 未结 12 2031
无人及你
无人及你 2020-12-17 15:33

Say I have a table variable:

DECLARE @MyTableVar TABLE (ID INT IDENTITY(1,1), SomeData NVARCHAR(300))

After I have inserted 250 rows, I nee

12条回答
  •  无人及你
    2020-12-17 15:34

    I just had this idea and it works!!! :

    declare @TableVariable table (
        IdentityColumn int identity(1,1),
        SomeOtherValue int,
        DesiredResult int
    )
    declare @FirstIdentityValueEachTimeYouLoadDataToTable int
    declare @Count int
    set @Count = 1
    
    while @Count <= 5
    begin
        delete @TableVariable
    
        insert into @TableVariable (SomeOtherValue) select 45
        insert into @TableVariable (SomeOtherValue) select 90
        insert into @TableVariable (SomeOtherValue) select 2
    
        select @FirstIdentityValueEachTimeYouLoadDataToTable = min(IdentityColumn) from @TableVariable
    
        Update @TableVariable set DesiredResult = IdentityColumn - @FirstIdentityValueEachTimeYouLoadDataToTable + 1
    
        select * from @TableVariable
        set @Count = @Count + 1
    end 
    

提交回复
热议问题