Как мне пройти через набор записей из выбора?
Например, скажем, у меня есть несколько записей, которые я хочу просмотреть и сделать с каждой записью. Вот примитивная версия моего выбора:
select top 1000 * from dbo.table
where StatusID = 7
Спасибо
sql
sql-server
трусливый
источник
источник
Ответы:
Используя T-SQL и курсоры, как это:
источник
Это то, что я делал, если вам нужно сделать что-то итеративное ... но было бы разумно сначала поискать операции над множествами.
источник
Небольшое изменение к ответу Сэма Йи (для лучшей читаемости):
источник
select @TableID = (...)
утверждения.С помощью курсора вы можете легко перебирать записи по отдельности и печатать записи по отдельности или в виде одного сообщения, включая все записи.
источник
Просто другой подход, если вы хорошо используете временные таблицы. Я лично проверил это, и это не вызовет никаких исключений (даже если временная таблица не имеет никаких данных).
источник
COUNT(*)
а вторая идет отCOUNT(*)
1, странно.WHILE (@COUTNER <= @ROWID)
и вам не нужно уменьшать@ROWID
в каждой итерации. Кстати, что произойдет, еслиROWID
s в вашей таблице не являются непрерывными (некоторые строки были ранее удалены).Вы можете ранжировать свои данные, добавить ROW_NUMBER и вести обратный отсчет до нуля, пока повторяете свой набор данных.
источник
таким образом, мы можем перебрать данные таблицы.
STRINGTOTABLE - это пользовательская функция, которая будет анализировать разделенные запятыми данные и возвращать таблицу. Спасибо
источник
Я думаю, что это простой пример итерации элемента.
источник