Ver Mensaje Individual
  #7 (permalink)  
Antiguo 16/12/2009, 16:23
gaviota81
 
Fecha de Ingreso: diciembre-2009
Mensajes: 14
Antigüedad: 15 años
Puntos: 0
De acuerdo Respuesta: SP con insert sql server

Muchas gracias si eche un vistazo a lo que me posteaste y me ayudo a la solución.... tambén se q los cursores no son lo más óptimo pero algunas veces son necesarios.

Agrego la solución...

Código:
Drop Table Carga_Boleta_Match
go
create table Carga_Boleta_Match 
( Boleta bigint,
  CveArticulo bigint,
  desArticulo varchar(30),
  Peso real,
  Comentario varchar(50))
  go
 
SET NOCOUNT ON   
 DECLARE @intFlag INT
 DECLARE @temp INT
 DECLARE @CantidadPrendas INT
 DECLARE @boleta VARCHAR(10)
 DECLARE @cveArticulo VARCHAR(10)
 DECLARE @desArticulo VARCHAR(10)
 DECLARE @peso VARCHAR(10)
 DECLARE @comentario VARCHAR(10)
 DECLARE @Sucursal INT
 DECLARE articulos_cursor CURSOR FOR
 select b.CantidadPrendas,a.boleta,c.CveArticulo, c.DescArticulo, c.Peso,'ass' as comentario
  FROM MOMBEF_Trabajo a, carga_MOMBDF  b, Carga_MOARCF c
  where a.Boleta=b.boleta
    and cast(a.sucursal as bigint)=b.sucursal
    and b.cveArticulo=c.CveArticulo
OPEN articulos_cursor;
--FETCH NEXT FROM articulos_cursor;
 FETCH NEXT FROM articulos_cursor INTO @temp,@boleta,@cveArticulo,@desArticulo,@peso,@comentario;
 WHILE @@FETCH_STATUS = 0
    BEGIN
        SET @intFlag = 0;
        WHILE  (@intFlag <@temp)
          BEGIN
              PRINT @temp
              INSERT INTO Carga_Boleta_Match 
              values (@boleta, @cveArticulo, @DesArticulo, @Peso, @comentario)
              FETCH NEXT FROM articulos_cursor INTO @temp,@boleta,@cveArticulo,@desArticulo,@peso,@comentario;
              SET @intFlag=@intFlag+1;
            IF @intFlag =@temp
             BREAK
            ELSE 
             CONTINUE 
         END  
    END
CLOSE articulos_cursor;
DEALLOCATE articulos_cursor;
GO