Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/07/2007, 02:13
Avatar de moNTeZIon
moNTeZIon
 
Fecha de Ingreso: enero-2005
Ubicación: Lliçà de Munt - BCN
Mensajes: 1.625
Antigüedad: 19 años, 5 meses
Puntos: 9
Re: Insertar datos en cabecera y detalle llamando a un store procedure

Como andas wey!
Pues si, yo lo hago con dos procedures, uno para la cabecera, y otro por cada línea.
El de la cabecera es algo así:
Código:
CREATE Procedure [dbo].[PEDIDOS_InsertarCabecera]
(
	@IDCliente		int,
	@Fecha			datetime,
	@Portes			money,
	@PortesIVA		money,
	@Estado			nvarchar(50),
	@IDPedido		int OUTPUT
)
AS
BEGIN
	INSERT INTO Pedidos (IDCliente, Fecha, Portes, PortesIVA, Estado)
	VALUES (@IDCliente, @Fecha, @Portes, @PortesIVA, @Estado)

	SELECT @IDPedido = @@Identity
END
Y este es el de las líneas:
Código:
CREATE Procedure [dbo].[PEDIDOS_InsertarLinea]
(
	@IDPedido	int,
	@CodigoProducto	nvarchar(15),
	@NombreProducto	nvarchar(50),
	@Cantidad	money,
	@PrecioUnidad	money,
	@Dto		money,
	@PorIVA		money,
	@PorREC		money
)
AS
BEGIN
	INSERT INTO LineasPedido
	(
		IDPedido,
		CodigoProducto,
		NombreProducto,
		Cantidad,
		PrecioUnidad,
		Dto,
		PorIVA,
		PorREC
	)
	VALUES
	(
		@IDPedido,
		@CodigoProducto,
		@NombreProducto,
		@Cantidad,
		@PrecioUnidad,
		@Dto,
		@PorIVA,
		@PorREC
	)
END
No se me ocurre que tipo de parámetro podrías pasarle, que englobe todas las líneas, y poder hacer todo esto desde un solo procedimiento. Existirá una estructura así en SQL Server que pueda ser utilizada como pararámetro?
Adeeeeeeeu
__________________
..:: moNTeZIon ::..