Для каждого значения в переменной @table - sql server 2008 - PullRequest
0 голосов
/ 14 декабря 2011

Есть ли способ сделать foreach value сделать что-то в SQL Server 2008.

У меня есть табличная переменная, которая содержит некоторые идентификаторы, и мне нужно выполнить еще несколько задач на основе значений.

Таблица может быть следующей:

declare @InspectionIDTable table(InspectionID uniqueidentifier not null)

на основе значений в этой таблице мне нужно зациклить и запустить некоторые операторы выбора. в зависимости от результата я должен заполнить другие переменные таблицы и выполнить еще некоторую обработку.

в основном, я требовал foreach на сервере sql, который может иметь вложенный foreach. Есть ли чистое приспособление для этого.

Кроме того, я хотел бы знать, насколько это хороший подход - делать это в хранимой процедуре с точки зрения программирования.

1 Ответ

2 голосов
/ 14 декабря 2011

Вы можете написать хранимую процедуру и открыть курсор на вашем «наборе результатов»

http://sqlserverplanet.com/tsql/sql-server-for-each-row-next/

В любом случае, вам следует избегать использования курсоров, потому что они плохо работают

Существует способ выполнять построчные операции без курсоров

Посмотрите на следующее:

http://www.sql -server-performance.com / 2004 / операции-нет-курсоры /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...