My wolą rozwiązaniem jest Microsoft KB 111401 http://support.microsoft.com/kb/111401.
Związek przykładów odnosi się do 3:
Artykuł ten opisuje różne metody, które można użyć, aby symulować kursora jak pobieranych ręcznie NEXT logiki procedury przechowywanej, wyzwalacz lub Transact-SQL partii.
/********** example 1 **********/
declare @au_id char(11)
set rowcount 0
select * into #mytemp from authors
set rowcount 1
select @au_id = au_id from #mytemp
while @@rowcount <> 0
begin
set rowcount 0
select * from #mytemp where au_id = @au_id
delete #mytemp where au_id = @au_id
set rowcount 1
select @au_id = au_id from #mytemp<BR/>
end
set rowcount 0
/********** example 2 **********/
declare @au_id char(11)
select @au_id = min(au_id) from authors
while @au_id is not null
begin
select * from authors where au_id = @au_id
select @au_id = min(au_id) from authors where au_id > @au_id
end
/********** example 3 **********/
set rowcount 0
select NULL mykey, * into #mytemp from authors
set rowcount 1
update #mytemp set mykey = 1
while @@rowcount > 0
begin
set rowcount 0
select * from #mytemp where mykey = 1
delete #mytemp where mykey = 1
set rowcount 1
update #mytemp set mykey = 1
end
set rowcount 0
dobrze, nie próbowałem niczego. Nie wiem, jak to zrobić. Przypuszczam, że mógłbym spróbować napisać pętlę w stylu "C", ale wątpię, że to zadziała. Może pętla w stylu PHP, ale znowu wątpię, że to zadziała. Muszę zrobić to wszystko w języku T-SQL, ponieważ mogę uruchamiać SQL w SMS-ach bez zewnętrznego języka, który wykonuje pętlę ... Najpierw skoncentruj się na tym pytaniu. – Justin808
@Shedal Ironia tych komentarzy/odpowiedzi (choć jest mniejsza niż odpowiedzi "google it") polega na tym, że z biegiem czasu stają się one najlepszymi wynikami Google. Tak więc z kolei, gdy ktoś szuka rozwiązania jakiegoś problemu, pierwszą rzeczą, którą spotka, jest bashowanie (zwykle uzasadnione) kogoś, kto miał problem, ale który nie zadał sobie trudu, by samemu znaleźć odpowiedź. Na dłuższą metę staje się irytujące dla osób, które rzeczywiście próbują szukać odpowiedzi. – jahu
@MarcinHabuszewski dobrze, szczerze mówiąc, w przypadku braku właściwej odpowiedzi na częste pytanie, nie pojawi się na pierwszej stronie wyników wyszukiwania Google. Zwykle. –