---
title: "select ->loop ->insert"
type: "forum-thread"
url: "https://www.webforum.nu/amne/databaser-sql/87536-select-loop-insert"
topic: "Databaser & SQL"
topic_url: "https://www.webforum.nu/amne/databaser-sql"
author: "doggelito"
published: "2003-10-03T09:53:00.000Z"
updated: "2003-10-03T11:10:20.000Z"
replies: 4
views: 293
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/databaser-sql/87536-select-loop-insert"
---

# select ->loop ->insert

## #1 — doggelito, 2003-10-03T09:53Z

på en aspsida är det ju lätt att loopa igenom ett recordset och sedan köra en insert för varje rad, men kan man göra detta direkt i query analyzern med t.ex. while-komandot? (använder sql-2000)
jag behöver föra över följande kolumner: Userid och Email från en tabell till en annan och vill inte handjaga alla poster och tycker det känns onödigt att göra en aspsida bara för detta, så fråga: går det?

```
select Userid, Email 
from tblWebUsers 
where Ftp = 0
order by Urlid

while ???
Insert Into tblWebUsersEmail (Userid, Email) Values (??, ??)
end
```

Permalänk: https://www.webforum.nu/p/87536

## #2 — @nders, 2003-10-03T09:55Z

Varför krångla?

Detta borde räcka alldeles utmärkt:

```
INSERT INTO tblWebUsersEmail (Userid, Email) SELECT Userid, Email from tblWebUsers where Ftp = 0
```

Mvh

Permalänk: https://www.webforum.nu/p/1173964

## #3 — doggelito, 2003-10-03T11:05Z

Tja, varför krångla! :) :bire

Permalänk: https://www.webforum.nu/p/1174009

## #4 — doggelito, 2003-10-03T11:08Z

Det kanske kan vara kul att se vad jag var inne på, så här en fredag eftermiddag.
Dock så känns det som om jag var ganska nära! Fast ändå så helt fel ute! :) 

```
declare @rows int
declare @loop int
declare @Userid int
declare @Email varchar(50)

select @rows = @@rowcount from tblWebUsers where Ftp = 0
select @loop = 1
while @loop <= @rows
	select @Userid = Userid, @Email = Email from tblWebUsers where @@rowcount = @loop
	insert into tblWebUsersEmail (Userid, Email) values (@Userid, @Email)
	select @loop = @loop+1
```

Permalänk: https://www.webforum.nu/p/1174012

## #5 — @nders, 2003-10-03T11:10Z

Det hade säkert gått att få ihop det där också. Jag måste dock fortfarande tillstå att mitt exempel ovan är aningen mindre krångligt. ;)

Mvh

Permalänk: https://www.webforum.nu/p/1174013

---

Tråden på webben: https://www.webforum.nu/amne/databaser-sql/87536-select-loop-insert
