16/12/2009, 16:23
|
| | Fecha de Ingreso: diciembre-2009
Mensajes: 14
Antigüedad: 15 años Puntos: 0 | |
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
|