create procedure sp_DescuentoCategoriaInvierno
as
declare @IDProductoOfertado int, @ProductoNombre nvarchar(256), @CategoriaNombre nvarchar(256), @SubcategoriaNombre nvarchar(256), @Precio float
declare cursorProducto cursor for
select o.IDProducto, p.Nombre, c.Nombre, s.Nombre, o.Precio from OfertaProducto as o
inner join Producto as p on o.IDProducto = p.ID
inner join Subcategoria as s on p.IDSubcategoria = s.ID
inner join Categoria as c on s.IDCategoria = c.ID
order by p.Nombre
open cursorProducto
fetch next from cursorProducto into @IDProductoOfertado, @ProductoNombre, @CategoriaNombre, @SubcategoriaNombre, @Precio
while @@FETCH_STATUS = 0
begin
if(@CategoriaNombre='Invierno')
begin
select @Precio --TROUBLE IS HERE.
from OfertaProducto --WHAT SHOULD I DO?
update OfertaProducto set Precio = @Precio * 0.5
end
fetch next from cursorProducto into @IDProductoOfertado, @ProductoNombre, @CategoriaNombre, @SubcategoriaNombre, @Precio
end
close cursorProducto
deallocate cursorProducto
Это один достаточно простым, я просто пытаюсь, чтобы каждый OferredProduct в моем dabase, который имеет категорию «Invierno» имеет по сниженной цене:Проблема с этой простой хранимой процедурой
Вот модель :
Так что я хотел бы его повторять через каждый OfferedProduct, если он имеет категорию «Invierno» снизить цены на него до 50%. Я не знаю что-то маленькое, я уверен. : P
Спасибо!
В вашем примере это IDProducto внешний ключ в моем дальнем правом столе? – 2010-11-24 16:24:57