sql >> Databasteknik >  >> RDS >> Sqlserver

Hur kan jag öka värdet för varje INSERT INTO iteration?

använd radnummer funktion för att ge dina rader löpnummer

insert into Table1 (column1,column2)
select 
    (select max(column1) from Table1) + row_number() over (order by T2.anotherColumn),
    T2.anotherColumn
from Table2 as T2

eller säkrare version (det skulle fungera även om du inte har några rader i Tabell1):

insert into Table1 (column1,column2)
select 
    isnull(T1.m, 0) + row_number() over (order by T2.anotherColumn),
    T2.anotherColumn
from Table2 as T2
    outer apply (select max(column) as m from Table1) as T1


  1. Hur man tar reda på den optimala hämtningsstorleken för urvalsfrågan

  2. Hur uppdaterar man flera tabeller med en enda mysql-fråga?

  3. Tabellvariabel i Oracles lagrade procedur

  4. hur får man env-variabler från docker i symfony yml-konfigurationsfilen