Я хочу сохранить таблицу как историю и заменить ее пустой. Как это сделать через Management Studio?
SQL Server копирует все строки из одной таблицы в другую дублирующую таблицу
Ответ 1
Дублируйте таблицу в таблицу для архивирования:
SELECT * INTO ArchiveTable FROM MyTable
Удалить все записи в таблице:
DELETE * FROM MyTable
Ответ 2
select * into x_history from your_table_here;
truncate table your_table_here;
Ответ 3
У меня нет сервера sql для тестирования, но я думаю, что это просто:
insert into newtable select * from oldtable;
Ответ 4
Либо вы можете использовать RAW SQL:
INSERT INTO DEST_TABLE (Field1, Field2)
SELECT Source_Field1, Source_Field2
FROM SOURCE_TABLE
Или используйте мастер:
- Щелкните правой кнопкой мыши по базе данных → Задачи - > Экспорт данных
- Выберите исходную/целевую базу данных
- Выберите исходную/целевую таблицу и Поля
- Скопировать данные
Затем выполните:
TRUNCATE TABLE SOURCE_TABLE
Ответ 5
попробуйте выполнить эту одиночную команду для удаления и вставки данных:
DELETE MyTable
OUTPUT DELETED.Col1, DELETED.COl2,...
INTO MyBackupTable
рабочий образец:
--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
ВЫВОД:
(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)
Ответ 6
Это будет работать:
select * into DestinationDatabase.dbo.[TableName1] from (
Select * from sourceDatabase.dbo.[TableName1])Temp