Ich arbeite mit SQL Server (ich bin ein SQL Server noob) und versuche, eine Tabelle zu ändern.Ich möchte CREATE TABLE LIKE
sicher speichern Daten, während ich Schlüssel und Einschränkungen und alle anderen rigamorole, auf dem SQL Server scheint zu erfordern fallen, wenn auf der ursprünglichen Tabelle zu ändern, aber ich habe nicht in der Lage gewesen, ein Spiel zu diesem Befehl zu finden ...Was entspricht "CREATE TABLE ... LIKE ..." in SQL Server
Antwort
können Sie tun
SELECT * INTO #MyTable_tmp VON MyTable
Dann ändern Sie Ihre MyTable, und kopieren Sie Ihre Daten zurück. Andere Ansätze, die ich gesehen habe, ist eine neue Tabelle erstellen, nennen Sie es Mytable_Tmp (keine temporäre Tabelle), die Ihre neue Tabelle sein wird.
Kopieren Sie dann Ihre Daten, wenn Sie Migrationen durchführen möchten. Dann werden Sie die Originaltabelle löschen und auf Mytable umbenennen.
Oder Sie können eines der vielen ausgezeichneten Tools, die Datenbanken zu vergleichen und Differenzskripte oder VSTS DB Edition (Kommt mit Entwickler) und Sie können ein Diff-Skript von einer Projektdatei zu einer DB.
bearbeiten
Wenn Sie * INTO #MyTable FROM MyTable SELECT ausführen, erstellt SQL Server eine neue temporäre Tabelle #MyTable genannt, die jede Spalte und Datentyp aus dem select-Klausel übereinstimmt. In diesem Fall wählen wir *, damit es mit MyTable übereinstimmt. Dies erstellt nur die Spalten, die keine Standardwerte, Constraints-Indizes oder irgendetwas anderes kopieren.
Meine Frage ist nicht, wie Sie Daten in eine bereits vorhandene temporäre Tabelle einfügen. Mir geht es mehr darum, eine temporäre Tabelle zu erstellen, die der vorhandenen Tabelle entspricht. Ich habe Dutzende von Tabellen, die ich ändern muss, und ich möchte die temporären Tabellen nicht manuell erstellen müssen. – Ichorus
Ahh! Sehr gut! Vielen Dank! – Ichorus
Und die Schlüssel? Index? fremde Schlüssel? –
Sie möchten die gleiche Struktur neu erstellen?
wie diese
SELECT *
into test
FROM myRealTable
where 0=1
werden keine Daten in die neue Tabelle eingefügt werden
SELECT top 0 * in test FROM myRealTable, wird auch das gleiche Ergebnis erzielen –
- 1. Informix entspricht mysqls SHOW CREATE TABLE
- 2. create sql server table funktion durch java
- 3. SQL-Kommentare zu Create Table auf SQL Server 2008
- 4. SQL Server - Können Sie Feldbeschreibungen in CREATE TABLE hinzufügen?
- 5. TABLE-Anweisung Frage in T-SQL CREATE
- 6. Was ist falsch mit meinem create table SQL?
- 7. 1064 Fehler in CREATE TABLE ... TYPE = MYISAM
- 8. SQL-Fehler # 1064 auf CREATE TABLE
- 9. sql "LIKE" entspricht in django Abfrage
- 10. Was entspricht SQL Server APPLY in Oracle?
- 11. Was ist falsch mit dieser Anweisung Create Table
- 12. com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException CREATE TABLE
- 13. show create table tabellenname (wie mache ich das in sql server)?
- 14. Elixir/SQLAlchemy entspricht SQL "LIKE" Anweisung?
- 15. Parsing SQL CREATE TABLE-Anweisung ANTLR4 mit
- 16. SQL Batch Update - Rollback auf "CREATE TABLE"?
- 17. Was ist mein Syntaxfehler in dieser mySQL create table -Anweisung?
- 18. Was entspricht PostgreSQL dem SQL Server NVARCHAR?
- 19. Erzeuge ein "Create Table" -Skript in Toad/SQL Navigator
- 20. Kombination "LIKE" und "IN" für SQL Server
- 21. Hashset entspricht in SQL Server
- 22. Trennen Create Table Anweisungen
- 23. MySQL CREATE TABLE Befehl
- 24. SQL Server LIKE enthalten Klammerzeichen
- 25. Meine SQL ADDDATE FUNKTION funktioniert nicht in CREATE TABLE
- 26. SQL Server MOD entspricht
- 27. Was macht "Create Statistics" in SQL Server 2005?
- 28. Wie bekomme ich Oracle create table Anweisung in SQL * Plus
- 29. Wie verwendet man Konstanten in SQL CREATE TABLE?
- 30. Syntaxfehler mit FOREIGN KEY in CREATE TABLE
Ich benutze Visual Studio SQL Server-Explorer zu diesem Zweck ermöglicht es die automatische Aktualisierung der Datenbankstruktur. – Ginden