2016-04-19 5 views
0

Der JobÄndern Spaltenreihenfolge einer Tabellendefinition ein Skript

mit Ich brauche eine gebrochene bulkinsert beheben, indem Sie alle Felder in der Zieltabelle neu anordnen, so dass die Reihenfolge der Definition des bulkinsert übereinstimmt.

Ich muss dies auf mehreren DBs in mehreren Umgebungen tun.

Was ich

tun können, ist von Hand ziehen und die Felder in der korrekten Position fallen, die funktionieren würde, aber dies wäre sehr ineffizient, da die Felder insgesamt Mismatch sind.

Was Ich mag würde

Meine Arbeit viel leichter und wiederholbar wäre, wenn ich ein SQL-Skript erstellen könnte, die die Neuanordnung für mich tut.

Mit einem Skript würde ich mich nur einmal bemühen und es in allen anderen DB-Umgebungen auf eine zuverlässige Weise ausführen müssen.

Irgendwelche Ideen?

+0

Sind die Tabellenstrukturen in allen DB gleich? Bitte posten Sie Ihre aktuelle Struktur und Ihre gewünschte Spaltenbestellung – Raj

+0

Sie sind identisch. Es ist in Wirklichkeit etwas komplexer, aber im Grunde ist der Unterschied: dev - acc - prod. – Spikee

Antwort

1

Was Sie tun müssen, ist eine Tabelle mit den Spalten in der richtigen Reihenfolge zu erstellen, verschieben Sie die Daten aus der alten Tabelle, löschen Sie die alte Tabelle und benennen Sie die neue um. Beachten Sie, dass Sie alle Einschränkungen für die alte Tabelle löschen und neu erstellen müssen. Das ist im Prinzip das, wenn Sie sie über die GUI neu anordnen.

+0

Ich dachte in diese Richtung, ich werde sehen, was ich erarbeiten kann. – Spikee

0

Option 1

eine Formatdatei erstellen und diese Daten zu importieren, verwenden. Überprüfen Sie diesen Link für weiterführende Literatur - MSDN LINK

Option 2

Erstellen Sie eine Ansicht Daten aus Ihrer Tabelle auswählen, mit den Spalten in der gewünschten Reihenfolge. Legen Sie nun Daten in die Ansicht anstelle der Tabelle

Option 3

Erstellen Sie ein Skript, eine Kopie Ihrer Tabelle mit Spalten in der gewünschten Reihenfolge zu erstellen. Verschieben Sie vorhandene Daten in diese Tabelle. Jetzt lassen Sie Ihren Tisch fallen und benennen Sie die Kopie um.

Verwandte Themen