Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как мога да увелича стойността за всяка итерация INSERT INTO?

използвайте row_number функция за даване на вашите редове последователни номера

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

или по-безопасна версия (ще работи дори и да нямате редове в Таблица1):

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да добавя колона с пореден номер към данните за резултатите?

  2. SQL Server:Индексни колони, използвани в like?

  3. Sql Server 2008 R2 Management Studio – без Intellisense

  4. Кой е най-добрият начин за съкращаване на дата в SQL Server?

  5. Използвайте XEvent Profiler за улавяне на заявки в SQL Server