MS SQL: Tabelle kopieren

Squicky

Lt. Commander
Registriert
Sep. 2002
Beiträge
1.420
Hallo

Ich suche einen T-SQL Befehl für ein T-SQL Script um eine Tabelle zu kopieren?

Es soll nicht der Inhalt (zeilen) kopiert werden, sondern es soll eine neue Tabelle mit einem neuen Namen mit den gleichen Spalten und Eigenschaften erstellt werden.

Benutzt wird Microsoft SQL Server 2012.

Danke
 
Code:
SELECT * INTO TableCopy FROM OrigTable
GO

TRUNCATE TABLE TableCopy
GO

Ja gut, Quick and Dirty - wenn du in der originalen Tabelle viele Zeilen hast, dann dauert das natürlich sehr lange. Aber für kleine Tabellen und Tests sollte das ausreichen.

Wenn du eine 1:1-Kopie mit allen Constraints haben willst brauchst du allerdings deutlich mehr Aufwand.
Ich verweise dazu auf diese Antwort auf Stackexchange.
 
Zuletzt bearbeitet:
Mit etwas weniger Datenvolumen, das hin- und hergeschoben wird:

Code:
SELECT TOP 1 * INTO TableCopy FROM OrigTable
GO 

TRUNCATE TABLE TableCopy
GO
 
An TOP habe ich grad gar nicht gedacht, aber dann würde eigentlich auch schon

Code:
SELECT TOP 0 * INTO TableCopy FROM OrigTable
GO

reichen. :D
 
Physikbuddha schrieb:
Code:
SELECT * INTO TableCopy FROM OrigTable
GO

TRUNCATE TABLE TableCopy
GO

Ja gut, Quick and Dirty - wenn du in der originalen Tabelle viele Zeilen hast, dann dauert das natürlich sehr lange. Aber für kleine Tabellen und Tests sollte das ausreichen.

Naja, für große Tabellen kann man es so anpassen das man einfach nur die erste Zeile selektiert.
Dann passt es auch für große Tabellen.

Also so, denke ich:
Code:
SELECT top 1 * INTO TableCopy FROM OrigTable
GO

TRUNCATE TABLE TableCopy
GO


Edit:
Da war ein Vorredner schneller! ^^ :)
 
Es werden halt nur die Spalten an sich übernommen. Selbst Bedingungen wie der Primary Key werden dabei nicht kopiert.

Im Management Studio würde mir noch einfallen Rechtsklick auf Tabelle > Skript für Tabelle als > CREATE in > ...

Halt dann kein allgemeines Skript.
 
SELECT TOP 0 * INTO TableCopy FROM OrigTable

mega :cool_alt: :cool_alt: :cool_alt:

:hammer_alt:
:schluck:
 
Zurück
Oben