| Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS | ||||
| 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 la FAQ y todos sus comentarios | |
| Añadir un comentario del artículo |
|
Comentarios no revisados de: |