Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] Pasar información de una tabla a otra.

Estas en el tema de Pasar información de una tabla a otra. en el foro de SQL Server en Foros del Web. Buen día. Tengo un archivo en Excel el cual cuando lo importo al SQL me genera 5 tablas. Cada tabla tiene 5 columnas con el ...
  #1 (permalink)  
Antiguo 22/02/2013, 14:43
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 18
Antigüedad: 11 años, 9 meses
Puntos: 0
Exclamación Pasar información de una tabla a otra.

Buen día.

Tengo un archivo en Excel el cual cuando lo importo al SQL me genera 5 tablas. Cada tabla tiene 5 columnas con el mismo titulo como este.
Código SQL:
Ver original
  1. CREATE TABLE DBCE (
  2.     NRO_REGISTRO nvarchar(255) NULL,
  3.     NOMBRE_EMPRESA nvarchar(255) NULL,
  4.     NOMBRE_PRODUCTO nvarchar(255) NULL,
  5.     PAGINAS FLOAT NULL,
  6.     RUTA nvarchar(255) NULL)

Mi tabla principal es esta:
Código SQL:
Ver original
  1. CREATE TABLE ARCHIVO(
  2.     DSACODIGO CHAR(3) NOT NULL,
  3.     ARCODIGO CHAR(8) NOT NULL,
  4.     ARTIPO CHAR(3) NULL,
  5.     ARNUMECLS INT NULL,
  6.     ARCODIIDE VARCHAR(20) NULL,
  7.     ARFECHREG datetime NULL,
  8.     ARTITULO VARCHAR(800) NULL,
  9.     ARINDIFIS CHAR(1) NULL,
  10.     ARINDIDIG CHAR(1) NULL,
  11.     ARNUMECOP INT NULL,
  12.     ARNUMEFOL INT NULL,
  13.     ARCOMENT VARCHAR(1000) NULL,
  14.     UBICODIGO CHAR(8) NULL,
  15.     EDDCODISIT CHAR(2) NULL,
  16.     EDDCODIEST CHAR(2) NULL,
  17.     USRCODIGO CHAR(4) NULL,
  18.     USRCODIACT CHAR(4) NULL,
  19.     ARFECHULT datetime NULL,
  20.     ARSITUA CHAR(1) NULL)

Ahora mi pregunta es la siguiente.

Como puedo hacer para que en ARTITULO de mi tabla ARCHIVO ingresen la información de NRO_REGISTRO + NOMBRE_PRODUCTO + NOMBRE_EMPRESA de mi tabla DBCE.

Si alguien me explica con un query estaré muy agradecido.
  #2 (permalink)  
Antiguo 22/02/2013, 16:01
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Pasar información de una tabla a otra.

insert into archivo (artitulo)
select NRO_REGISTRO + NOMBRE_PRODUCTO + NOMBRE_EMPRESA as artitulo from DBCE
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #3 (permalink)  
Antiguo 22/02/2013, 16:31
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 18
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Pasar información de una tabla a otra.

Gracias por la respuesta. pero el problema es que no puedo hacer eso ya que en la tabla ARCHIVO tengo
Código SQL:
Ver original
  1. CREATE TABLE ARCHIVO(
  2.     DSACODIGO CHAR(3) NOT NULL,
  3.     ARCODIGO CHAR(8) NOT NULL,

2 columnas que no pueden ir nulos.

Como soluciono ese problema si es que en

DSACODIGO quiero que sea = 000
ARCODIGO quiero que tenga = 00000001

constante en todos los registros que pueda mover de la tabla DBCE

Alguna idea.

Gracias.
  #4 (permalink)  
Antiguo 22/02/2013, 16:37
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Pasar información de una tabla a otra.

?????? Puedes explicar un poco mejor lo que necesitas????
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 22/02/2013, 16:48
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 18
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Pasar información de una tabla a otra.

Ok.

Como vez en el primer post tengo 2 tables con sus atributos.

Ahora lo que quiero es pasar la data de la tabla DBCE hacia ARCHIVO.

Cita:
insert into GAMARCHIVO (artitulo)
select NRO_REGISTRO + NOMBRE_PRODUCTO + NOMBRE_EMPRESA as artitulo from DBCE
pero el error que me sale es este

Cita:
No se puede insertar el valor NULL en la columna 'DSACODIGO', tabla 'ARCHIVO.dbo.GAMARCHIVO'. La columna no admite valores NULL. Error de INSERT.
Se terminó la instrucción.
Por eso te pido que DSACODIGO y ARCODIGO tengan valores contantes en toda la data.
  #6 (permalink)  
Antiguo 22/02/2013, 16:55
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Pasar información de una tabla a otra.

insert into GAMARCHIVO (DSACODIGO,
ARCODIGO,artitulo)
select '000','00000001',NRO_REGISTRO + NOMBRE_PRODUCTO + NOMBRE_EMPRESA
as artitulo from DBCE
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 23/02/2013, 08:46
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 18
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Pasar información de una tabla a otra.

Gracias me sirvio de mucho...

Ahora aumente unas cositas mas y salio todo bien.
Código SQL:
Ver original
  1. INSERT INTO GAMARCHIVO(DSACODIGO,ARCODIGO,ARTIPO,ARNUMECLS,ARFECHREG,ARINDIFIS,ARINDIDIG,ARNUMECOP,EDDCODISIT,
  2. EDDCODIEST,USRCODIACT,ARFECHULT,ARSITUA,ARNUMEFOL,ARCODIIDE,artitulo)
  3. SELECT '000','00000001','026','6','2013-02-23','N','S','1','01','01','0000','2013-02-23','1',PAGINAS,NRO_REGISTRO,
  4. NRO_REGISTRO +' - '+ NOMBRE_PRODUCTO+' - '+ NOMBRE_EMPRESA
  5. AS artitulo FROM DBCE

Pero ahora viendo lo bien que salio me nace una pregunta mas que ojala me puedan explicar como hacer.

que pasaria si ARCODIGO de la tabla donde estoy insertando datos es PRIMARY KEY y quisiera que al momento de insertan empiece desde '7777777' y aumente de uno en uno por los registros que ingreso con el insert.

Gracias.
  #8 (permalink)  
Antiguo 25/02/2013, 09:49
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.412
Antigüedad: 18 años, 3 meses
Puntos: 774
Respuesta: Pasar información de una tabla a otra.

usa identity en tu campo, puedes iniciar el identity en el numero que necesitas.

saludos!
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #9 (permalink)  
Antiguo 25/02/2013, 09:58
 
Fecha de Ingreso: febrero-2013
Ubicación: Lima
Mensajes: 18
Antigüedad: 11 años, 9 meses
Puntos: 0
Respuesta: Pasar información de una tabla a otra.

Gracias por la ayuda.

Etiquetas: tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:13.