хранимая процедура - вопрос №465468

мы хотим получить сумму всех товаров и услуг, по заказу.

не могу найти ошибку, или даже что-то не хватает 

 

Create PROCEDURE StoredProcedure1

AS

declare @ID_zakaz int

declare @usl_po_zak int

declare @tov_po_zak int

--1) Создаем курсор, который буде содержать, список заказов.

declare spisok_zak cursor for

select distinct ID_zakaz

from zakaz

--2) Открываем курсор, (позиция курсора находится на первом заказе).

open spisok_zak

--3) Читаем первую строчку из курсора, номер заказа.

fetch from tov_po_zak into @ID_zakaz

--4) Циклпо курсору

while @@FETCH_STATUS=0

                begin

--5) Сосчитали стоимость всех товаров по заказу

select @tov_po_zak=Sum(cena_tovara*kolichestvo)

from dbo.tovar_po_zakazu whereID_zakaz=@ID_zakaz

--6)Считаем в переменную стоимость всех услуг по данному заказу.

select @usl_po_zak=Sum(cena_uslugi*kolichestvo)

from dbo.uslugi_po_zakazu where ID_zakaz=@ID_zakaz

--7) Записываем в выходную таблицу заказ, стоимость заказа как сумму и стоимость услуг.

update zakaz

Set summ_zakaza=@usl_po_zak+@tov_po_zak

Where ID_zakaz=@ID_zakaz

--8) Переходим на конец цикла по курсору

                fetch from tov_po_zak into @ID_zakaz                              

end

close spisok_zak

deallocate spisok_zak

GO

13.11.12
0 ответов
Ответов пока нет

Alexander

Читать ответы
Посмотреть всех экспертов из раздела Технологии > Базы данных
Пользуйтесь нашим приложением Доступно на Google Play Загрузите в App Store