Chcę zachować tabelę jako historię i zastąpić ją pustą. Jak mogę to zrobić za pomocą Management Studio?Serwer SQL kopiuje wszystkie wiersze z jednej tabeli do drugiej, tj. Duplikat tabeli
Odpowiedz
Duplikat tabelę w tabeli do zarchiwizowane:
SELECT * INTO ArchiveTable FROM MyTable
Usuń wszystkie wpisy w tabeli:
DELETE * FROM MyTable
Nie masz serwer sql wokół przetestować, ale myślę, że to po prostu:
insert into newtable select * from oldtable;
nice one! ale nigdy nie ufam kolejność pól;) – ntziolis
Jeśli było jakieś miejsce, w którym "SELECT *" powinno być używane w takim zapytaniu ... Tworzy kopię tabeli bez konieczności sprawdzania, co się w niej znajduje. –
@Robin - Zgadzam się, że * jest dobrym wyborem tutaj, ** JEŻELI ** kolejność pól jest taka sama;) – ntziolis
Albo można użyć RAW SQL:
INSERT INTO DEST_TABLE (Field1, Field2)
SELECT Source_Field1, Source_Field2
FROM SOURCE_TABLE
Albo użyć kreatora:
- Kliknij prawym przyciskiem myszy bazę danych -> Zadania -> Eksportuj dane
- Wybierz bazę danych źródło/docelowego
- Wybierz źródło/target Stół i pola
- skopiować dane
Następnie wykonać:
TRUNCATE TABLE SOURCE_TABLE
select * into x_history from your_table_here;
truncate table your_table_here;
+1, to jest lepsze niż wybrana odpowiedź. –
Aby uzyskać więcej informacji o tym, dlaczego powinieneś używać TRUNCATE zamiast DELETE zobacz http://dba.stackexchange.com/questions/30325/delete-vs-truncate – user1069816
spróbować tej jednego polecenia zarówno usunąć i wstawić dane:
DELETE MyTable
OUTPUT DELETED.Col1, DELETED.COl2,...
INTO MyBackupTable
próbki robocze:
--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
WYJŚCIE:
(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)
to będzie działać:
select * into DestinationDatabase.dbo.[TableName1] from (
Select * from sourceDatabase.dbo.[TableName1])Temp
- 1. Przenieś dane SQL z jednej tabeli do drugiej
- 2. MySQL skutecznie skopiować wszystkie rekordy z jednej tabeli do drugiej
- 3. sql: jak skopiować z jednej tabeli do innej tabeli
- 4. Kopiowanie danych blob z jednej tabeli do drugiej na MySQL
- 5. Kopiowanie php i mysql z jednej tabeli do drugiej
- 6. Serwer SQL: czy możesz ograniczyć dostęp tylko do jednej tabeli
- 7. MYSQL, Skopiuj wybrane pola z jednej tabeli do drugiej
- 8. Serwer SQL - metadane tabeli
- 9. Ładowanie danych z jednej tabeli Hive do drugiej z partycją
- 10. SQL INSERT brakujące wiersze z tabeli A do tabeli B
- 11. wstawianie danych z jednej tabeli do drugiej w mysql
- 12. SQL Server: sprawdź, czy wszystkie wiersze istnieje w innej tabeli
- 13. Usuń duplikat z tabeli
- 14. przenoszenie danych z jednej tabeli do drugiej, edycja postgresql
- 15. Przenoszenie tabeli z jednej bazy do drugiej w MySQL
- 16. Flask-SQLAlchemy, jak usunąć wszystkie wiersze w jednej tabeli
- 17. phpMyAdmin Duplikat tabeli
- 18. Usuń wszystkie wiersze tabeli z tabeli bazy danych SQLite
- 19. Usunąć wszystkie wiersze z tabeli, rzuca nullpointer
- 20. Grupowanie kolumn SQL z jednej tabeli
- 21. Serwer SQL - kopiowanie danych z tabeli pomostowej
- 22. matplotlib - duplikat wykresu od jednej figury do drugiej?
- 23. Nieprawidłowa suma kiedy dołączyć do drugiej tabeli
- 24. SQL Usuń wiersze na podstawie innej tabeli
- 25. MSSQL Zapytanie usunąć zduplikowane wiersze z tabeli pozostawiając różne wiersze tabeli
- 26. Wstaw odrębne wartości z jednej tabeli do innej tabeli
- 27. SQL - jeśli ciąg w kolumnie z jednej tabeli zawiera ciąg w kolumnie z połączonej tabeli
- 28. Serwer SQL: Kopiowanie kolumny w tabeli
- 29. Wiersze tabeli filtrów z jquery
- 30. usuń wszystkie wpisy z tabeli z php
Champion! dzięki! – iamjonesy
Działa to tylko wtedy, gdy ArchiveTable nie został jeszcze utworzony, w przeciwnym razie pojawi się błąd "W bazie danych znajduje się już obiekt o nazwie" ArchiveTable ".". – Harvey
TRUNCATE jest lepszym rozwiązaniem niż DELETE. –