Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Diseño web | Promoción web | Ganar dinero
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo
FAQ: Duplicar registro en tabla sql

 Se muestran 4 comentarios sin revisar

Jorge  02/5/07 
Vega Euly, si funciona, de hecho yo he implementado :
insert into tabla select * from tabla

el problema que tengo es que si la taba contiene un campo Id unico no copiara el registro, y la tabla contiene cerca de 50 campos, demasiados para escribirlos uno a uno en la consulta, no hay forma de decirle: copia todo menos el Id?

El Tocayo  03/5/07 
Que tal, si lo que quieres es solo duplicar registros, te puede servir lo siguiente:

insert
into tabla_duplicada(
campo_uno, campo_dos, campo_tres)
select campo_uno, campo_dos, campo_tres
from tabla_original
union all
select campo_uno, campo_dos, campo_tres
from tabla_original

Claro que esta es una sentencia de oracle, creo que servira en alguna otra base de datos con algunos cambios.

Por otro lado, si lo que necesitas es multiplicar los registros de manera controlada, puedes hacer uso de un join cartesiano, esto es omitiendo la condicion de join de las tablas, por ejemplo:

Supongamos que la tabla original es tab_original con 100 registros, y queremos multiplicar estos registros por 4, para obtener 400, pues lo que podemos hacer es inventarnos una tabla con una columna, que contenga cuatro registros, esta tabla la llamaremos tab_cuatro_registros, ahora haciendo lo siguiente obtendremos 400 registros:

insert into tab_destino_cuatrocientos(
campo_uno, campo_dos, campo_tres)
select ori.campo_uno, ori.campo_dos, ori.campo_tres
from tab_original ori,
tab_cuatro_registros cua

como ven, se omite el "where ori.id = cua.id"; es a estas uniones a las que se les llama joins cartesianos, y que en base de datos son tan temidos, pero sabiendolos utilizar, son de ayuda para algunas situaciones especificas.

Espero les sea de ayuda

wilfredo quintallla  11/6/07 
como ver recibos con numeros iguales aplicados a 2 clientes diferenes

Dsousa  01/11/07 
Yo tengo una duda algo similar y necesito ayuda.

Tengo mi base de datos y quiero duplicar un registro, pero con un id diferente.

si utilizo:

INSERT INTO TABLA1 (CAMPO1, CAMPO2) SELECT CAMPO1, CAMPO2 FROM DUAL WHERE CAMPO=VALOR

o la de

INSERT INTO TABLA SELECT * FROM TABLA WHERE ID = VALOR

NO ME SIRVEN PQ NO PUEDO DEJAR LIBRE EL CAMPO DEL ID POR LO TANTO ME MARCA UN ERROR POR DUPLICAR EL ID QUE ES UNA PRIMARY KEY, EN POCAS PALABRAS NECESITO DUPLICAR UN REGISTRO PERO ASIGNARLE UN ID DIFERENTE PARA QUE NO ME MARQUE ERROR.

ESPERO QUE ME PUEDAN AYUDAR, AH OTRA COSA ESTA PREGUNTA LA QUISE AGREGAR AL FAQ COMO ONA FAQ NUEVA Y NO PUDE POR FAVOR DIGANME COMO PUEDO AGREGAR MAS FAQ Y COMO PUEDO SUBIR MIS SCRIPTS

GRACIAS!!!

Ver el articulo / faq completo Ver la FAQ y todos sus comentarios
Añadir un comentario al artículo Añadir un comentario del artículo
  Ir arriba

Comentarios no revisados de:

+ Duplicar registro en tabla sql


DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia