jak przeglądać zestaw rekordów z zaznaczenia?
Powiedzmy na przykład, że mam kilka rekordów, które chciałbym przejrzeć i zrobić coś z każdym z nich. Oto prymitywna wersja mojego wyboru:
select top 1000 * from dbo.table
where StatusID = 7
Dzięki
sql
sql-server
Odjechany
źródło
źródło
Odpowiedzi:
Używając T-SQL i takich kursorów:
źródło
To właśnie robiłem, jeśli musisz zrobić coś iteracyjnego ... ale rozsądnie byłoby najpierw poszukać operacji na zbiorach.
źródło
Mała zmiana w odpowiedzi Sam Yi (dla lepszej czytelności):
źródło
select @TableID = (...)
oświadczeniu.Używając kursora, można łatwo przechodzić przez poszczególne rekordy i drukować je oddzielnie lub jako pojedynczą wiadomość zawierającą wszystkie rekordy.
źródło
Po prostu inne podejście, jeśli możesz dobrze używać tabel tymczasowych. Osobiście to przetestowałem i nie spowoduje to żadnego wyjątku (nawet jeśli tabela tymczasowa nie zawiera żadnych danych).
źródło
COUNT(*)
a druga odCOUNT(*)
do 1, jest dziwne.WHILE (@COUTNER <= @ROWID)
i nie musisz zmniejszać@ROWID
w każdej iteracji. BTW, co się stanie, jeśliROWID
s w Twojej tabeli nie są ciągłe (niektóre wiersze zostały wcześniej usunięte).Możesz uszeregować swoje dane, dodać ROW_NUMBER i odliczać do zera podczas iteracji zbioru danych.
źródło
w ten sposób możemy iterować dane w tabeli.
STRINGTOTABLE to funkcja definiowana przez użytkownika, która analizuje dane oddzielone przecinkami i zwraca tabelę. dzięki
źródło
Myślę, że jest to łatwy przykład iteracji elementu.
źródło