Quiero mantener una tabla como historial y reemplazarla por una vacía. ¿Cómo puedo hacer esto a través de Management Studio?SQL Server copia todas las filas de una tabla a otra, es decir, una tabla duplicada
Respuesta
duplicar su tabla en una tabla de se archivará:
SELECT * INTO ArchiveTable FROM MyTable
Borrar todos los registros de la tabla:
DELETE * FROM MyTable
No tienen servidor SQL en torno a probar, pero creo que es justo:
insert into newtable select * from oldtable;
agradable uno! pero nunca confío en el orden de los campos;) – ntziolis
Si hubiera algún lugar donde se debería usar "SELECT *" es en una consulta como esta ... Hace una copia de la tabla sin tener que saber qué contiene. –
@Robin - Acepto que a * es una buena opción aquí, ** SI ** el orden de los campos es el mismo;) – ntziolis
O se puede utilizar SQL RAW:
INSERT INTO DEST_TABLE (Field1, Field2)
SELECT Source_Field1, Source_Field2
FROM SOURCE_TABLE
O utilizar el asistente:
- Haga clic derecho en la base de datos -> Tareas -> Exportar datos
- Seleccione la base de datos de origen/destino
- Seleccionar origen/destino de mesa y campos
- copiar los datos
luego ejecutar:
TRUNCATE TABLE SOURCE_TABLE
select * into x_history from your_table_here;
truncate table your_table_here;
+1, esto es mejor que la respuesta seleccionada. –
Para obtener más información sobre por qué debería usar TRUNCATE en lugar de DELETE, vea http://dba.stackexchange.com/questions/30325/delete-vs-truncate – user1069816
probar esto solo comando para ambos borrar e insertar los datos:
DELETE MyTable
OUTPUT DELETED.Col1, DELETED.COl2,...
INTO MyBackupTable
muestra de trabajo:
--set up the tables
DECLARE @MyTable table (col1 int, col2 varchar(5))
DECLARE @MyBackupTable table (col1 int, col2 varchar(5))
INSERT INTO @MyTable VALUES (1,'A')
INSERT INTO @MyTable VALUES (2,'B')
INSERT INTO @MyTable VALUES (3,'C')
INSERT INTO @MyTable VALUES (4,'D')
--single command that does the delete and inserts
DELETE @MyTable
OUTPUT DELETED.Col1, DELETED.COl2
INTO @MyBackupTable
--show both tables final values
select * from @MyTable
select * from @MyBackupTable
SALIDA:
(1 row(s) affected)
(1 row(s) affected)
(1 row(s) affected)
(1 row(s) affected)
(4 row(s) affected)
col1 col2
----------- -----
(0 row(s) affected)
col1 col2
----------- -----
1 A
2 B
3 C
4 D
(4 row(s) affected)
Esto funcionará:
select * into DestinationDatabase.dbo.[TableName1] from (
Select * from sourceDatabase.dbo.[TableName1])Temp
- 1. Cómo agregar una fila para todas las filas en otra tabla en SQL Server
- 2. SQL Server creando una tabla temporal desde otra tabla
- 3. sql: cómo copiar de una tabla a otra tabla
- 4. ¿Cómo mover atómicamente las filas de una tabla a otra?
- 5. Mover datos SQL de una tabla a otra
- 6. Cómo copiar una fila de una tabla de SQL Server a otra
- 7. ¿Cómo se copian las filas de una tabla a otra?
- 8. Eliminar todas las filas en una tabla basada en otra tabla
- 9. Manera eficiente de actualizar todas las filas en una tabla
- 10. SQL Eliminar filas basadas en otra tabla
- 11. SQL Actualizar una tabla según las condiciones en otra tabla
- 12. Borrar todas las filas en la tabla
- 13. SQL: Inserte todos los registros de una tabla a otra tabla sin concretar las columnas
- 14. Anexando a las filas de una tabla
- 15. granel actualizar una tabla de filas de otra tabla
- 16. ¿Cómo detectar filas duplicadas en una tabla de SQL Server?
- 17. Recuperando todas las filas de una tabla sin HQL?
- 18. Eliminar todas las filas de una tabla, arroja nullpointer
- 19. Actualizar filas de otra tabla
- 20. SQL - Actualizar una tabla con un campo de otra tabla
- 21. ¿Cómo obtengo todas las filas en una tabla que no están en otra en MS Access?
- 22. copia una sola fila de una tabla de datos a otra
- 23. MySQL - Tabla duplicada
- 24. Mover una tabla de una base de datos a otra base de datos SQL Server
- 25. ¿Cómo puedo "restar" una tabla de otra?
- 26. Asigne a una variable el número de filas que tiene una tabla en SQL Server
- 27. Una forma rápida de eliminar todas las filas de una tabla de datos a la vez
- 28. T-SQL: ¿Cómo obtengo las filas de una tabla cuyos valores coinciden por completo con los valores de otra tabla?
- 29. Jquery/Ajax cuadro de diálogo donde seleccionar entre todas las filas de una tabla sql
- 30. MySQL Seleccionar todas las columnas de una tabla y un poco de otra tabla
Champion! ¡Gracias! – iamjonesy
Esto solo funciona si ArchiveTable no se ha creado todavía; de lo contrario, aparecerá el error "Ya hay un objeto llamado 'ArchiveTable' en la base de datos.". – Harvey
TRUNCATE es una opción mejor que DELETE. –