sql >> Databáze >  >> RDS >> Sqlserver

SQL LOOP INSERT Na základě seznamu ID

To je to, co žádáte.

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

Ale pokud je to vše, co ve smyčce uděláte, měli byste místo toho skutečně použít odpověď od Barryho.



  1. Dynamické spouštění SQL na serveru SQL

  2. Načíst aktuální adresu URL poskytovatele serveru za běhu na weblogic (nezastaralý způsob)

  3. Přejmenování více tabulek

  4. LIKE dotaz na prvky plochého pole jsonb