SP no se como ????

05/09/2006 - 16:49 por Super | Informe spam
Hola a todos y gracias de antemano.

tengo el siguiente problema quiero hacer un insert del detalle de oferta en
la tabla detalle de factura, pero este puede tener varias lineas y cuando
hago esto

CREATE PROCEDURE [dbo].[SGI_Convert_Oferta_Factura]

AS
DECLARE
@SolC nvarchar(50),
@Prod int,
@Cant int,
@PVent decimal(19,4),
@I int,
@Iv int

SET @Iv=1

SELECT @I=COUNT(*)
FROM Detalle_Solicitud

SELECT @SolC=NoSolicitud
,@Prod=Id_Producto
,@Cant=Cantidad
,@PVent=PrecioVenta

FROM [SGI].[dbo].[Detalle_Solicitud]

INSERT INTO [SGI].[dbo].[Detalle_Factura]
(No_Factura
,IdProducto
,Cantidad
,PrecioVenta)
VALUES
(@SolC
,@Prod
,@Cant
,@PVent)


GO

Claro con su respectivo where NoSolicitud = 'el que sea', solo me inserta el
ultimo y son 4, como logro hacer esto ? pueden darme una ayudita ?

SELECT @I=COUNT(*)
FROM Detalle_Solicitud (esto solo lo puse con la idea de hacer un
ciclo, pero no supe como)

Gracias nuevamente
 

Leer las respuestas

#1 J.A. García Barceló
05/09/2006 - 17:40 | Informe spam
Utiliza la estructura INSERT SELECT para insertar más de un registro.

CREATE PROCEDURE [dbo].[SGI_Convert_Oferta_Factura] @N_Of int
AS
INSERT INTO [SGI].[dbo].[Detalle_Factura]
(No_Factura,IdProducto,Cantidad,PrecioVenta)
SELECT [los campos que sean] FROM Detalle_Solicitud WHERE [la condicion
que sea, probablemente No_Oferta = @N_Of)


Un saludo.

J.A. García Barceló
http://jagbarcelo.blogspot.com



"Super" escribió en el mensaje
news:
Hola a todos y gracias de antemano.

tengo el siguiente problema quiero hacer un insert del detalle de oferta
en la tabla detalle de factura, pero este puede tener varias lineas y
cuando hago esto

CREATE PROCEDURE [dbo].[SGI_Convert_Oferta_Factura]

AS
DECLARE
@SolC nvarchar(50),
@Prod int,
@Cant int,
@PVent decimal(19,4),
@I int,
@Iv int

SET @Iv=1

SELECT @I=COUNT(*)
FROM Detalle_Solicitud

SELECT @SolC=NoSolicitud
,@Prod=Id_Producto
,@Cant=Cantidad
,@PVent=PrecioVenta

FROM [SGI].[dbo].[Detalle_Solicitud]

INSERT INTO [SGI].[dbo].[Detalle_Factura]
(No_Factura
,IdProducto
,Cantidad
,PrecioVenta)
VALUES
(@SolC
,@Prod
,@Cant
,@PVent)


GO

Claro con su respectivo where NoSolicitud = 'el que sea', solo me inserta
el ultimo y son 4, como logro hacer esto ? pueden darme una ayudita ?

SELECT @I=COUNT(*)
FROM Detalle_Solicitud (esto solo lo puse con la idea de hacer un
ciclo, pero no supe como)

Gracias nuevamente




Preguntas similares