[sql server] loop'en door een cursor

Pagina: 1
Acties:

  • palloquin
  • Registratie: Juli 2000
  • Laatst online: 29-01-2021
Hoi...

Ik ik kan dit maar nergens vinden:

Ik wil een een stored procedure door een cursor(?) loop'en

Misschien zeg ik dit fout: Ik wil graag in mijn SP een select statement uitvoeren en dan 1 voor 1 door de resultaten heen gaan en daar al dan niet iets mee doen...

Dit kan toch wel???

TIA!!

  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Tuurlijk kan dat. Een simpel voorbeeldje:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
-- effe wat vars om de waarden in op te slaan
DECLARE @var1 int, @var2 char(10)

-- cursor declareren
DECLARE myCursor CURSOR
FOR
SELECT foo, bar FROM tblFooBar

-- openen van cursor
OPEN myCursor

-- eerste ophalen
FETCH NEXT FROM myCursor
INTO @var1, @var2

-- fetch_status geeft 0 als de fetch gelukt is
WHILE @@FETCH_STATUS = 0
BEGIN
  -- doe wat met de vars, bijv:
  print @var1
  print @var2

  -- en natuurlijk de volgende ophalen
  FETCH NEXT FROM myCursor
  INTO @var1, @var2
END

-- netjes afsluiten (deze niet vergeten)
CLOSE myCursor
DEALLOCATE myCursor

Meer info is te vinden in de BooksOnline (waar anders ;)). keywords: open, fetch.
(bijvoorbeeld over de verschillende typen cursors of de manieren waarop je door de cursor kan wandelen).

btw. cursors zijn leuk, maar use carefully, ze kosten namelijk wel behoorlijk wat resources. Dus gebruiken als het echt niet anders kan, imho.

Today's subliminal thought is:


  • palloquin
  • Registratie: Juli 2000
  • Laatst online: 29-01-2021
ThanX a lot!

werk perfect...