Ich habe zwei identische Tabellen und müssen Zeilen aus der Tabelle in eine andere kopieren. Was ist der beste Weg, das zu tun? (Ich muss programmgesteuert nur ein paar Zeilen kopieren, ich brauche das Dienstprogramm zum Massenkopieren nicht).So kopieren Sie eine Zeile aus einer SQL Server-Tabelle in eine andere
Antwort
Solange es keine Identitätsspalten sind, können Sie nur
INSERT Table2
SELECT * FROM Table1
WHERE [Conditions]
SELECT * INTO <new_table> FROM <existing_table> WHERE <clause>
Gibt es eine Möglichkeit, dies zu tun Wenn diese zwei Tabellen in diff Datenbanken in SQL-Server sind. – Naresh
Sicher! Einfach die Datenbank vollständig qualifizieren. [Servername]. [Schema]. [Tabelle]. Zum Beispiel 'SELECT * INTO [SQLTEST]. [Dbo]. [MITARBEITER] FROM [SQLPROD]. [Dbo]. [MITARBEITER]' –
Dies erstellt eine neue Tabelle, die nicht das ist, was das OP fragt. – Conrad
Alternative Syntax:
INSERT tbl (Col1, Col2, ..., ColN)
SELECT Col1, Col2, ..., ColN
FROM Tbl2
WHERE ...
Die Auswahlabfrage kann (natürlich) Ausdrücke enthalten, case-Anweisungen, Konstanten/Literale usw.
Das ist großartig, wenn die Tabellen leicht abweichen. Ich habe ein paar zusätzliche Spalten in meiner zweiten Tabelle und die akzeptierte Antwort funktioniert nicht mit MSSQL, da sie identisch sein müssen. –
INSERT INTO DestTable
SELECT * FROM SourceTable
WHERE ...
arbeitet in SQL Server
Dies funktioniert nur, wenn DestTable nicht existiert. Sie erhalten einen Fehler, wenn DestTable vor dieser Abfrage erstellt wird. –
Tatsächlich schlägt es fehl, wenn die Zieltabelle nicht existiert. Es kann zu Fehlern führen, wenn die vorhandene Zieltabelle nicht leer ist. – Kaniu
Jarretts Antwort erstellt eine neue Tabelle.
Scotts Antwort fügt in eine vorhandene Tabelle mit der gleichen Struktur ein.
Sie können auch in eine Tabelle einfügen mit unterschiedlicher Struktur:
INSERT Table2
(columnX, columnY)
SELECT column1, column2 FROM Table1
WHERE [Conditions]
@ScottStonehouse: Wenn du alle Antworten in diese Antwort sammelst, wie du es gemacht hast, aber mit Code (um es umfassend zu machen), würdest du definitiv die beste Antwort sein. –
- 1. Eine sql-Servertabelle schwenken
- 2. Kopieren Sie Daten aus einer vorhandenen Zeile in eine andere vorhandene Zeile in SQL?
- 3. So kopieren Sie von einer Leinwand in eine andere
- 4. SQL Server 2012: Kopieren Sie eine Spalte aus einer Tabelle in eine andere
- 5. Kopieren von Daten aus einer SQL-Tabelle und fügen Sie ihn in eine andere Tabelle
- 6. T-SQL eine Zeile zurück, wenn eine andere Zeile nicht
- 7. Inhalt einer Textbox in eine andere kopieren
- 8. So kopieren Sie eine Tabelle von einer MySQL-Datenbank in eine andere MySQL-Datenbank
- 9. So kopieren Sie Ansichten von einer Datenbank in eine andere Datenbank
- 10. Zeile von einer Tabelle in eine andere verschieben?
- 11. Kopieren Sie zuerst 1000 Dokumente in eine andere Sammlung
- 12. Kopieren einer DataRow in eine andere Tabelle (vb.net/mysql)
- 13. Kopieren einer Vektorreferenz auf eine andere
- 14. So wählen Sie eine zufällige Zeile aus einer Textdatei
- 15. So erhalten Sie eine Zeile aus einer Textdatei über findstr
- 16. Daten von einer Datenbank in eine andere Datenbank kopieren
- 17. So entfernen Sie eine Zeile aus einer benutzerdefinierten Listenansicht
- 18. kopieren Sie eine Identitätsspalte in eine andere Tabelle
- 19. Kopieren Sie eine Datentabelle in eine andere Datentabelle in asp.net
- 20. So kopieren Sie Tabelle in eine andere Tabelle in SQL-Server Ohne Id-Nummern zu verlieren?
- 21. So erhalten Sie eine bestimmte Zeile aus einer Datei
- 22. Verfahren zum Kopieren von Daten aus einer Tabelle in eine andere Tabelle in SQL Server
- 23. Kopieren Sie eine Zeichenfolge in eine andere ohne
- 24. Atomic kopieren Sie eine MySQL-Tabelle über eine andere?
- 25. Übereinstimmende 2 Zeilen und Kopieren einer anderen Zeile in eine andere Zeile
- 26. Eine Spalte in eine andere Zeile schieben
- 27. So kopieren Sie eine eingefügte, aktualisierte, gelöschte Zeile in einem SQL Server-Trigger
- 28. Oracle Daten in eine andere Tabelle kopieren
- 29. VBA-Wert von einer Arbeitsmappe in eine andere kopieren
- 30. So kopieren Sie eine Liste in Scala
Seien Sie vorsichtig mit dieser Syntax, da es nicht funktionieren wird, wenn Table2 eine Identity-Spalte hat und es in der Zukunft bricht, wenn Table1 sich ändert, ohne dass Table2 sich synchron ändert (vorher gebrannt). Diese Lösung könnte für Ihren Fall perfekt sein, seien Sie sich dieser Überlegungen bewusst. –
Sie können 'SET IDENTITY_INSERT < table > ON '(und' SET IDENTITY_INSERT < table > OFF') verwenden, um die Identitätsspalte in der Tabelle, in die Sie einfügen möchten, vorübergehend zu deaktivieren. Arbeitete für mich versucht, ein paar fehlende Datensätze in der Mitte des Datasets wiederherzustellen. – nickb
Was ist, wenn der Primärschlüssel in Tabelle1 in Tabelle2 als Fremdschlüssel vorhanden ist? Ich habe das gleiche, und ich weiß nicht, was zu tun ist .. in Tabelle2 ID der Fremdschlüssel AS "Technology_idTechnology" und in Tabelle 1 ist es da als "IDTechnology" Ich möchte alle Einträge aus Tabelle1 zu kopieren table2, wenn die idTechnology in beiden Tabellen übereinstimmt. – ZelelB