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

Insertar una fila que sea copia de otra que ya haya

Estas en el tema de Insertar una fila que sea copia de otra que ya haya en el foro de Bases de Datos General en Foros del Web. Quiero en una tabla, insertar una fila que será una "casi copia" de otra que ya haya (todos los campos igual salvo alguno). Me gustaría ...
  #1 (permalink)  
Antiguo 08/11/2005, 19:31
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 2 meses
Puntos: 6
Insertar una fila que sea copia de otra que ya haya

Quiero en una tabla, insertar una fila que será una "casi copia" de otra que ya haya (todos los campos igual salvo alguno). Me gustaría saber el mejor método para hacer eso, que será usando instrucciones SQL y no teniendo que combinar SQL con lenguaje de servidor ASP.
  #2 (permalink)  
Antiguo 08/11/2005, 19:49
Avatar de Carcharhinus  
Fecha de Ingreso: septiembre-2004
Mensajes: 264
Antigüedad: 19 años, 7 meses
Puntos: 0
Esper este ejemplo te ayude de algo

INSERT adult( member_no, street, city, state
,zip, phone_no, expr_date )
SELECT ju.member_no, ad.street, ad.city, ad.state
,ad.zip, ad.phone_no, DATEADD( YY, 1, GETDATE() )
FROM juvenile AS ju
INNER JOIN adult AS ad
ON ju.adult_member_no = ad.member_no
WHERE ( DATEADD(YY, 18, ju.birth_date)
  #3 (permalink)  
Antiguo 08/11/2005, 19:55
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 2 meses
Puntos: 6
No he entendido bien tu ejemplo: ¿juntas un insert con inner's join? ¿Y dónde está la parte de VALUES que que yo sepa debe acompañar a todo INSERT? En caso de estar bien, ¿podrías explicarme qué hace esa sentencia?

Yo lo que quiero es tan sencillo como esto: en una tabla, tengo unos registros algunos de los cuales, de vez en cuando, querré "volverlos a insertar": en realidad, querré insertar nuevos valores en la tabla, pero algunos valores de los campos querré que sean idénticos a los de otro registro concreto.
  #4 (permalink)  
Antiguo 09/11/2005, 08:59
Avatar de Linterns
Colaborador
 
Fecha de Ingreso: diciembre-2001
Mensajes: 2.799
Antigüedad: 22 años, 4 meses
Puntos: 11
quiza este ejemplito lo entiendas mejor

Código:
Insert into 
MITABLA ( campo1, campo2, campo3, campo4... campoN)
Select (campo1, campo2, "valor cambiado", campo4....campoN)
From MITABLA 
Where (aqui tus condiciones)
__________________
Bien se puede recibir una puñalada sin adulación,
pero rara vez se recibe una adulación sin puñalada
** ***
  #5 (permalink)  
Antiguo 09/11/2005, 22:07
 
Fecha de Ingreso: febrero-2005
Mensajes: 1.015
Antigüedad: 19 años, 2 meses
Puntos: 6
¡Perfectamente me ha funcionado!

Salvo que he tenido que quitar los paréntesis que habías puesto al lado del select: me dio error hasta que vi que era eso y lo cambié.

Éste es un código de prueba que funciona:

Cita:
Insert into
tabla_pruebas (campo1, campo2, campo3)
Select campo1, 3, campo3
From tabla_pruebas where campo1=1
Saludos !
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:06.