Jak przechodzić z jednego rekordu do następnego w while

0

Cześć, coś mi sie pokićkało i mam problem, chce zrobić stored procedure i mam problem z iteracją w while loopie, generalnie rzecz biorąc potrzebując przeksakiwać w tabeli 'users' do następnych rekordów.
Wszystko od nowa muszę zacząć.

Condition jaki wybrałem to i <= liczba rekordów w 'użytkownikach' i pod koniec pętli i += 1.
Otóż nie wiem jak przeskakiwać do następnego rekordu w tej iteracji. Bo 'i' nie będzie się równać 'Id'.
*[potrzebuje wyciągnać Id z każdego usera, aby dodać/stworzyć nowy rekord w innej tabeli, gdzie to Id jest potrzebne]
*

Kminiłem coś, że każdy rekord ma tak jakby "count id" i że np. 0 to pierwszy rekord, 2 to jeden pomijając ten cały foreign key którym jest unikalne Id.
Nie wiem czy dobrze 'problem' opisałem, ale te funkcje w tym SQL są dziwniejsze (dla mnie) niż myślałem. Jestem tu świeżak, mogło mi się coś pomylić a generalnie to nie wiem czy bedę brnął dalej w to SQL bo po prostu to jednorazowa potrzeba.

1

A kursory znasz?

2

Nie jest ci potrzebny ani cursor, ani pętla...

0

Pominąwszy pytanie, czy pętla jest potrzebna, to może wyglądać np. tak:

declare @il int = (select count(*) from dbo.Users);
declare @i int = 1;
declare  @t1 table (id_user int,lp int);

insert into @t1
SELECT id_user,ROW_NUMBER() over (order by id_user) as lp
FROM dbo.Users;

while @i <= @il begin
  select id_user from @T1 where lp = @i;
  set @i+=1; 
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1