select @nStorCount = 0
/* Шаг 7. Цикл считывания.
Обрабатываются данные, пока значение переменной @@fetch_status = 0
(это значит, что строка была считана из курсора). */
while @@fetch_status = 0
/* Шаг 8. Увеличение счетчика. */
select @nStorCount = @nStorCount + 1
/* Шаг 9. Определение общего количества изделий заказов превышающих заданный параметр (>10) */
select @nOrderCount = @nOrderCount + @sKol_vo
/* Шаг 10. Возвращение результата клиенту */
select ‘Изделие’ = @sIzdelie,
‘Техническая характеристика’ = @sTeh_harakteristika,
‘Заказчик’ = @sZakazchik,
‘Количество изделий’ = @sKol_vo
/* Шаг 11. Продолжение считывания.
Если больше не найдено ни одной строки, значение переменной
@@fetch_status будет установлено не равным нулю и цикл завершается */
fetch cur_stores
into @sIzdelie, @sTeh_harakteristika, @sZakazchik, @sKol_vo
/* Шаг 12. Закрытие и освобождения курсора.
Следует отметить, что для хранимой процедуры это необязательно,
так как курсор прекращает свое существование сразу же после
завершения хранимой процедуры. Однако лучше это проделывать. */
close cur_stores
deallocate cur_stores
/* Шаг 13. Оформление общего результата. */
select 'Количество изделий' = @nStorCount
select 'Суммарное количество изделий' = @nOrderCount
/* Шаг 14. Повторное включение результирующего счетчика */
setNoCount ON
/* Шаг 15. Завершение процедуры
0 показывает, что процедура выполнилась успешно, от –1 до –99 показывает причины неудачного завершения. */
return 0
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.