Ver Mensaje Individual
  #1  
Antiguo 05-09-2005
Avatar de lucasarts_18
lucasarts_18 lucasarts_18 is offline
Miembro
 
Registrado: mar 2005
Ubicación: Villa Alemana,Chile
Posts: 1.087
Reputación: 21
lucasarts_18 Va por buen camino
Question Dos cursores a la vez

Hola Amigos:

Tengo problema al momento de colocar dos cursores en un mismo procedimiento almacenado.

Código SQL [-]
 
 CREATE PROCEDURE InsertarArticulos
 
    @CODPROD VARCHAR(30),
    @Tabla VARCHAR(15)
 
 AS
 BEGIN
   DECLARE   @Pais smallint,
             @Local smallint,
             @Sku varchar(15),
             @Descripcion varchar(50),
             @Precio_Regular decimal(10,2),
             @Precio_Oferta decimal(10,2),
             @Flag_Precio char(1),
             @Enviado bit,
             @Tipo_Operacion char(1)
 
 
   IF @Tabla = 'MARTICULOS'
   BEGIN
     DECLARE CurMaestroArticulos cursor for
           SELECT ITEMNMBR,
                  ITEMDESC
           FROM   IV00101
           WHERE  ITEMNMBR = @CODPROD
 
     OPEN CurMaestroArticulos
     WHILE @@FETCH_STATUS = 0
     BEGIN
       Fetch Next From CurMaestroArticulos
         Into  @Sku,
                 @Descripcion
                
       Insert into OUT_ARTICULOS(Sku,
                                 Descripcion)
              values            (@Sku,
                                 @Descripcion)
                             
     END
     CLOSE CurMaestroArticulos
     DEALLOCATE CurMaestroArticulos
   END
    IF @TABLA = 'Precios'
    BEGIN
      DECLARE @PRECIOS cursor for
      SELECT  UOMPRICE
      FROM    IV00108
      WHERE  ITEMNMBR = @CODPROD
 
      OPEN @PRECIOS
      WHILE @@FETCH_STATUS = 0
      BEGIN
        Fetch Next From @PRECIOS
            Into   @Precio_Regular
 
        Insert into OUT_ARTICULOS(Precio_Regular)
               values            (@Precio_Regular)
 
      END
      CLOSE @PRECIOS
      DEALLOCATE @PRECIOS
    END
   
 END

Si yo quito todo el código que viene despues del IF Table = 'Precios', compila bien el procedimiento.
El error de compilación que sale ahora con el código de arriba es el siguiente.

Incorrect syntax near the keyword 'for'

Espero sus ayudas nuevamente amigos.

Un Saludo y Gracias por todo..
__________________
No todo es como parece ser...
Responder Con Cita