Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Insert, select (https://www.clubdelphi.com/foros/showthread.php?t=58785)

bosterito 31-07-2008 20:46:16

Insert, select
 
Buenas a todos.
Tengo una duda que me tiene mal. Quiero hacer un insert con un select, pero, que no se copie todos los datos. Por ejemplo
Código SQL [-]insert into cajanueva select *from caja where fecha='2008-07-31' and factura='0005000214'


El asunto es que la tabla caja tiene un campo id, y no se le puede transferir a la tabla cajanueva, porque el valor de este campo se genera automáticamente. Por eso, lo que quiero, es copiar todos los valores de los campos de caja a cajanueva, a excepción del campo id.

Saludos:)

jcarteagaf 31-07-2008 21:04:50

Código SQL [-]
insert
(campo1,campo2,....campoN)
select campo1,campo2,....campoN)
from Tabla
where 

Saludos

javier7ar 31-07-2008 21:11:29

si estas trabajando con SQL Server, podes activar la inserccion de columnas de identidad:

Código SQL [-]
SET IDENTITY_INSERT cajanueva ON

/* aca pones el insert que tenes */

SET IDENTITY_INSERT cajanueva OFF

eso te va a permitir insertar valores en la columna que es identidad
Saludos

tcp_ip_es 04-08-2008 12:29:28

como dice jcarteagaf es correcto es decir :

Código SQL [-]
insert into cajanueva  (todos los campos) select todos los campos sin id from caja
Si fuera al contrario podrías ahorrarte código es decir si en la tabla que insertas tuviese un campo más de la tabla que te traes los datos, ya que podríamos usar el comodín *, sería asi..

Código SQL [-]
insert into cajanueva select x as id,* from caja


La franja horaria es GMT +2. Ahora son las 09:57:34.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi