Forums Últimos mensajes - Powered by IBM
 
Tags Palabras claves

Hacer un ciclo....

27/08/2006 - 23:25 por Super | Informe spam
Hola a todos y gracias de antemano.

Tengo una tabla con detalles de una solicitud y necesito despues de mandar a
convertir en oferta, insertar todos los rows que tengo en la tabla detalle
de oferta o detalle de factura, lo unico que se me ocurre es esto.
ALTER PROCEDURE [dbo].[SGI_Convert_Oferta_Factura]
(

@NoSol nvarchar(50)

)

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]

WHERE @NoSol=NoSolicitud

INSERT INTO [SGI].[dbo].[Detalle_Factura]

(No_Factura

,IdProducto

,Cantidad

,PrecioVenta)

VALUES

(@SolC

,@Prod

,@Cant

,@PVent)



Pero por supuesto, solo guarda el valor que encontró de ultimo, que es con
el que se quedó.

pensé hacer un ciclo
For i =1 to @I
.
Next i
pero no se como hacer esto en SQL
podrian darme alguna mano con esto o darme alguna otra idea que sea mejor ?

Muchas gracias
 

Leer las respuestas

#1 Maxi
28/08/2006 - 00:02 | Informe spam
Hola, si nos pasaras las definicion de las tablas y algun ejemplo de lo que
buscas hacer seria fantastico. De todas maneras, has probado con hacer un
trigger?



Salu2

Microsoft MVP SQL Server
Culminis Speaker
INETA Speaker
www.sqlgururs.org
Email:


"Super" wrote in message
news:
Hola a todos y gracias de antemano.

Tengo una tabla con detalles de una solicitud y necesito despues de mandar
a convertir en oferta, insertar todos los rows que tengo en la tabla
detalle de oferta o detalle de factura, lo unico que se me ocurre es esto.
ALTER PROCEDURE [dbo].[SGI_Convert_Oferta_Factura]
(

@NoSol nvarchar(50)

)

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]

WHERE @NoSol=NoSolicitud

INSERT INTO [SGI].[dbo].[Detalle_Factura]

(No_Factura

,IdProducto

,Cantidad

,PrecioVenta)

VALUES

(@SolC

,@Prod

,@Cant

,@PVent)



Pero por supuesto, solo guarda el valor que encontró de ultimo, que es con
el que se quedó.

pensé hacer un ciclo
For i =1 to @I
.
Next i
pero no se como hacer esto en SQL
podrian darme alguna mano con esto o darme alguna otra idea que sea mejor
?

Muchas gracias


Preguntas similares