Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Bagaimana saya bisa menambah nilai untuk setiap iterasi INSERT INTO?

gunakan row_number berfungsi untuk memberikan nomor urut baris Anda

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

atau versi yang lebih aman (ini akan berfungsi bahkan jika Anda tidak memiliki baris apa pun di Tabel1):

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. Bandingkan dua baris dan identifikasi kolom yang nilainya berbeda

  2. Bagaimana cara menulis output pernyataan SQL ke file CSV?

  3. Temukan baris yang diubah (kunci komposit dengan nol)

  4. Impor 'xml' ke dalam Sql Server

  5. Mengapa kita selalu lebih suka menggunakan parameter dalam pernyataan SQL?