So erstellen Sie eine neue Tabelle, deren Struktur mit einer anderen Tabelle identisch sein sollte
Ich habe es versucht
CREATE TABLE dom AS SELECT * FROM dom1 WHERE 1=2
Es ist jedoch kein Fehler aufgetreten
sql-server
Domnic
quelle
quelle
Antworten:
Versuchen:
Beachten Sie, dass dadurch keine Indizes, Schlüssel usw. kopiert werden.
Wenn Sie die gesamte Struktur kopieren möchten , müssen Sie ein Erstellungsskript der Tabelle generieren. Mit diesem Skript können Sie eine neue Tabelle mit derselben Struktur erstellen. Sie können die Daten dann bei Bedarf auch in die neue Tabelle kopieren.
Wenn Sie Enterprise Manager verwenden, klicken Sie einfach mit der rechten Maustaste auf die Tabelle und wählen Sie Kopieren, um ein Skript zum Erstellen zu erstellen.
quelle
Dies ist, was ich verwende, um eine Tabellenstruktur zu klonen (nur Spalten) ...
quelle
Nur Struktur kopieren (alle Spalten kopieren)
Nur Struktur kopieren (einige Spalten kopieren)
Struktur mit Daten kopieren
Wenn Sie bereits eine Tabelle mit derselben Struktur haben und nur Daten kopieren möchten, verwenden Sie diese
quelle
Dies wird definitiv funktionieren
quelle
FÜR MYSQL:
Sie können verwenden:
Dokumentation hier .
quelle
sql-server
für das diese Syntax nicht gültig ist.Es ist wahrscheinlich auch erwähnenswert, dass Sie Folgendes tun können:
Klicken Sie mit der rechten Maustaste auf die Tabelle, die Sie duplizieren möchten. > Skripttabelle als > Erstellen an > Neues Abfrageeditorfenster
Wenn dort der Name der Tabelle steht, auf die Sie in dem generierten Skript mit der rechten Maustaste geklickt haben, ändern Sie den Namen in den Namen, in den Ihre neue Tabelle aufgerufen werden soll, und klicken Sie auf
Execute
quelle
Versuchen Sie dies. Die folgende Kopie kopiert die gesamte Struktur der vorhandenen Tabelle, jedoch nicht die Daten.
Wenn Sie die Daten kopieren möchten, verwenden Sie die folgende:
quelle
Ich verwende den folgenden gespeicherten Prozess zum Kopieren des Schemas einer Tabelle, einschließlich PK, Indizes und Partitionsstatus. Es ist nicht sehr schnell, scheint aber den Job zu machen. Ich begrüße alle Ideen, wie man es beschleunigen kann:
quelle
CURSOR LOCAL FAST_FORWARD
. Persönlich versuche ich, ein ähnliches Skript ohne Verwendung von Cursorn zu erstellen und zu sehen, wie dies funktioniert.quelle
Ich weiß nicht, warum Sie das tun wollen, aber versuchen Sie:
Es sollte funktionieren.
quelle
quelle
Wenn Sie dieselbe Datenbank kopieren möchten
Wenn eine andere Datenbank
quelle
Fand hier was ich suchte. Hat mir geholfen, mich daran zu erinnern, was ich vor 3-4 Jahren benutzt habe.
Ich wollte dieselbe Syntax wiederverwenden, um eine Tabelle mit Daten erstellen zu können, die sich aus dem Join einer Tabelle ergeben.
Kam nach einigen Versuchen mit der folgenden Abfrage auf.
quelle
quelle
Oldtable
. Wie wird das vermieden?