sql >> Database teknologi >  >> RDS >> Sqlserver

SQL LOOP INSERT Baseret på Liste over ID'er

Det er det, du beder om.

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

Men hvis dette er alt, du skal gøre i løkken, bør du virkelig bruge svaret fra Barry i stedet.



  1. Introduktion til SQL Joins

  2. Hvad er en tidsseriedatabase?

  3. InnoDB:Operativsystemfejl nummer 23 i en filhandling

  4. MySQL - to afhængige vægtede gennemsnit i en enkelt forespørgsel