Передача выходных параметров из хранимой процедуры в приложение
Подскажите, пожалуйста. Объясняю ситуацию. Я разрабатываю подсистему "Склад", то есть мне нужно в хранимой процедуре выбрать материалы, которые на конкретную дату есть в остатках. Я в процедуре выбираю все материалы, которые есть в приходных ТТН в курсор. Затем в цикле по каждому матералу запросом определяю количество расходов на данную дату из таблицы расходных ТТН. Нахожу разность, и, если количество больше нуля, то его нужно передать в результирующие выходные параметры. Как в цикле передавать данные в output параметры. Заранее извиняюсь на , может, такой дилетантский подход. Просто это первая процедура. Знаю, что в Firebird существует suspend, а в MS SQL как?
Или же, как вариант, вы можете объявить табличную переменную, и на каждой итерации делать insert, а после завершения - сделать из нее выборку вернув клиенту из процедуры рекордсет целиком.
Но курсорный подход не приветствуется в mssql, да и вообще в рсубд. Если у вас относительно современная версия сервера, лучше опишите задачу, и скорее всего, ее можно решить без курсоров. Курсоры применяются людьми которые пришли из "классических" языков программирования и пока не мыслят в терминах множеств. И в 90% курсоры - всегда проигрывают в производительности.