Mam tabelę ABC w bazie danych. Chcę utworzyć kopie ABC o nazwach ABC_1, ABC_2, ABC_3 w tej samej bazie danych. Jak mogę to zrobić za pomocą Management Studio (najlepiej) lub zapytań SQL?
Dotyczy to programu SQL Server 2008 R2.
sql
sql-server-2008
tsql
sql-server-2008-r2
sequel.learner
źródło
źródło
Odpowiedzi:
Zastosowanie
SELECT ... INTO
:Spowoduje to utworzenie nowej tabeli,
ABC_1
która ma taką samą strukturę kolumn jakABC
i zawiera te same dane. Jednak ograniczenia (np. Klucze, wartości domyślne) nie są kopiowane.Możesz uruchomić to zapytanie wiele razy z inną nazwą tabeli za każdym razem.
Jeśli nie potrzebujesz kopiować danych, a jedynie w celu utworzenia nowej, pustej tabeli o takiej samej strukturze kolumn, dodaj
WHERE
klauzulę z fałszywym wyrażeniem:źródło
SELECT TOP(0) *
czystszej niżWHERE
metoda zawsze fałszywych stwierdzeńSkopiuj schemat (wygeneruj DDL) za pośrednictwem interfejsu użytkownika SSMS
W SSMS rozwiń bazę danych w Object Explorer , przejdź do Tables , kliknij prawym przyciskiem myszy interesującą Cię tabelę i wybierz Script Table As , Create To , New Query Editor Window . Czy się znaleźć i zastąpić ( CTRL + H ), aby zmienić nazwę tabeli (czyli umieścić
ABC
w Znajdowanie co pola iABC_1
w Zamień następnie kliknij przycisk OK ).Skopiuj schemat za pomocą T-SQL
Inne odpowiedzi pokazujące, jak to zrobić za pomocą SQL, również działają dobrze, ale różnica w tej metodzie polega na tym, że otrzymasz także wszelkie indeksy, ograniczenia i wyzwalacze.
Kopiuj dane
Jeśli chcesz dołączyć dane, po utworzeniu tej tabeli uruchom poniższy skrypt, aby skopiować wszystkie dane z ABC (zachowując te same wartości ID, jeśli masz pole tożsamości):
źródło
IDENTITY_INSERT
na ON, aby zezwolić na ustawienie kolumny tożsamości „ręcznie”, w przykładzie została zmieszana kolejność. Musisz także WYJAŚNIĆ listę swoich kolumnJeśli chcesz zduplikować tabelę ze wszystkimi jej ograniczeniami i kluczami, wykonaj poniższe czynności:
Następnie, aby skopiować dane, uruchom poniższy skrypt:
źródło
1 opcja
Druga opcja: użyj SSIS, czyli kliknij prawym przyciskiem myszy bazę danych w eksploratorze obiektów> wszystkie zadania> eksportuj dane
źródło
To kolejna opcja:
źródło
użyj sql server manegement studio lub netcat i łatwiej będzie manipulować sql
źródło
Aby skopiować tabelę i jej dane, ograniczenia i wyzwalacze, musisz napisać SSIS. W naszej organizacji mamy oprogramowanie Kal Admin firmy kalrom Systems, które ma darmową wersję do pobrania (myślę, że funkcja kopiowania tabel jest opcjonalna)
źródło