Insert into a row at specific position into SQL server table with PK

前端 未结 6 1084
抹茶落季
抹茶落季 2020-12-16 23:58

I want to insert a row into a SQL server table at a specific position. For example my table has 100 rows and I want to insert a new row at position 9. But the ID column whic

6条回答
  •  不思量自难忘°
    2020-12-17 00:43

    DECLARE  @duplicateTable4 TABLE (id int,data VARCHAR(20))
    INSERT INTO @duplicateTable4 VALUES (1,'not duplicate row')
    INSERT INTO @duplicateTable4 VALUES (2,'duplicate row')
    INSERT INTO @duplicateTable4 VALUES (3,'duplicate rows')
    INSERT INTO @duplicateTable4 VALUES (4,'second duplicate row')
    INSERT INTO @duplicateTable4 VALUES (5,'second duplicat rows')
    DECLARE  @duplicateTable5 TABLE (id int,data VARCHAR(20))
    
    insert into @duplicateTable5 select *from @duplicateTable4
    delete from @duplicateTable4
    
    
    declare @i int , @cnt int
    set @i=1
    set @cnt=(select count(*) from @duplicateTable5)
    while(@i<=@cnt)
    begin
    if @i=1 
    begin
    insert into @duplicateTable4(id,data) select 11,'indian' 
    insert into @duplicateTable4(id,data) select id,data from @duplicateTable5 where id=@i
    end
    else
    insert into @duplicateTable4(id,data) select id,data from @duplicateTable5 where id=@i
    set @i=@i+1
    end
    
    
        select *from @duplicateTable4
    

提交回复
热议问题