Copiar datos de una tabla a otra

19/04/2005 - 20:22 por Ramon Zuluaga | Informe spam
Registro un pedido que tiene un encabezado y un detalle, digamos, tabla
Pedido y PedidoDetalle. Luego desde otra pantalla debo poder convertir un
pedido a factura. Hay igualmente dos tablas correspondientes: Factura y
FacturaDetalle. Tienen exactamente los mismos campos.

La conversion pensaba hacerla con un simple SP que le mande el numero de
pedido e hiciera esto:

INSERT FACTURA SELECT * FROM PEDIDO WHERE DOCUMENTO=@PEDIDO
INSERT FACTURADETALLE SELECT * FROM PEDIDODETALLE WHERE DOCUMENTO=@PEDIDO

Sin embargo, me topo con el problema de que el campo "documento" de la tabla
FACTURA, es otro consecutivo que no tienen nada que ver con el que tenga en
el campo documento de la tabla PEDIDO.
Necesito pues poder generar un nuevo consecutivo para la tabla FACTURA.
antes de su INSERT. y para usarlo tambien en la los nuevos registros de
FACTURADETALLE. Me pregunto por otro lado si para ello tengo necesariamente
que detallar los campos uno por uno en vez de usar el asterisco ?

Ojo: No uso identities porque no me gustan.

Les agradesco su ayuda
 

Leer las respuestas

#1 Alejandro Mesa
19/04/2005 - 20:58 | Informe spam
Ramon,

FACTURADETALLE. Me pregunto por otro lado si para ello tengo necesariamente
que detallar los campos uno por uno en vez de usar el asterisco ?



Como una buena practica, deberias siempre especificar la lista de columnas.
A ti no te gustan las columnas con propiedad IDENTITY, pero si mañana se
inserta una columna de estas por x motivo, mucho de ese codigo fallara.

Ve si este articulo, escrito por Maximiliano D. Accotto (Maxi), te es de
utilidad.

Cómo trabajar con Auto Numéricos
http://www.microsoft.com/spanish/ms...art187.asp


AMB

"Ramon Zuluaga" wrote:

Registro un pedido que tiene un encabezado y un detalle, digamos, tabla
Pedido y PedidoDetalle. Luego desde otra pantalla debo poder convertir un
pedido a factura. Hay igualmente dos tablas correspondientes: Factura y
FacturaDetalle. Tienen exactamente los mismos campos.

La conversion pensaba hacerla con un simple SP que le mande el numero de
pedido e hiciera esto:

INSERT FACTURA SELECT * FROM PEDIDO WHERE DOCUMENTO=@PEDIDO
INSERT FACTURADETALLE SELECT * FROM PEDIDODETALLE WHERE DOCUMENTO=@PEDIDO

Sin embargo, me topo con el problema de que el campo "documento" de la tabla
FACTURA, es otro consecutivo que no tienen nada que ver con el que tenga en
el campo documento de la tabla PEDIDO.
Necesito pues poder generar un nuevo consecutivo para la tabla FACTURA.
antes de su INSERT. y para usarlo tambien en la los nuevos registros de
FACTURADETALLE. Me pregunto por otro lado si para ello tengo necesariamente
que detallar los campos uno por uno en vez de usar el asterisco ?

Ojo: No uso identities porque no me gustan.

Les agradesco su ayuda



Preguntas similares