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

SQL LOOP INSERT Berdasarkan Daftar ID

Inilah yang Anda minta.

declare @IDList table (ID int)

insert into @IDList
SELECT id
FROM table1
WHERE idType = 1

declare @i int
select @i = min(ID) from @IDList
while @i is not null
begin
  INSERT INTO table2(col1,col2,col3) 
  SELECT col1, col2, col3
  FROM table1
  WHERE col1 = @i AND idType = 1

  select @i = min(ID) from @IDList where ID > @i
end

Tetapi jika hanya ini yang akan Anda lakukan dalam pengulangan, Anda harus benar-benar menggunakan jawaban dari Barry sebagai gantinya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara mengurangi ukuran tabel SQL Server yang tumbuh dari perubahan tipe data

  2. SQL Server 2008 Web Edition

  3. Bagaimana saya bisa menetapkan nilai default di Entity Framework

  4. Perbaiki "Setidaknya salah satu argumen untuk COALESCE harus berupa ekspresi yang bukan konstanta NULL" di SQL Server

  5. Pagination yang efisien di SQL Server 2008 R2