Ver Mensaje Individual
  #1  
Antiguo 28-08-2006
alexander66 alexander66 is offline
Miembro
 
Registrado: jul 2006
Posts: 21
Reputación: 0
alexander66 Va por buen camino
Por que da otros resultados un Sp de sql server usando cursores

saludos club, disponemos de sql server 2000 standard edition, el cual he creado un store procedure para hacer unas actualizaciones de precios de ventas y consiste en que aumenta el precio de venta en un 10 % si la existencia es menor a 1000 en caso contrario un 5 %
Código PHP:
la tabla es esta:
CREATE TABLE [dbo].[Productos] (
 [
Prodcuto_id] [int] IDENTITY (1, 1) NOT NULL ,
 [
producto] [varchar] (50) COLLATE Latin1_General_BIN NULL ,
 [
existencia] [float] NULL ,
 [
preciovta] [float] NULL ,
 [
Porcentaje] [float] NULL
) ON [PRIMARY] 
El sp es el siguiente pero se supone que con un bucle de cursor me actualizaria el precio_venta pero no es asi me da otro valores como resultado, sin importarle que valor tenga en el campo existencia.

Código PHP:
CREATE PROCEDURE incrementa AS
Declare @
Producto varchar(50)
Declare @
Existencia Numeric(18,2)
Declare 
curejemplo  Cursor For
Select producto, existencia from Productos
open curejemplo
Begin Transaction
Fetch next from curejemplo into 
@Producto, @Existencia
If @@Fetch_status = 0
 begin
 
if @Existencia < 1000
 update Productos set preciovta 
= preciovta * 1.10
 
else
 if @
Existencia > 1000
 update Productos set preciovta 
= preciovta * 1.05

Fetch next from curejemplo into 
@Producto, @Existencia
end
Commit Transaction
close curejemplo
Deallocate curejemplo
GO 
Gracias, tambien pense en modificar el sp de este modo y alamcenar el porcentaje en el campo Porcentaje y aun asi no da el resultado apropiado preciovta = preciovta * 0.1.
Responder Con Cita