wie die update-Tabelle mit foreign key
Eigentlich habe ich zwei Datenbanken, eine ist für die Inszenierung ist in der Produktion.
eine Tabelle für Beispiel genannt Class(class_id,descr,faculty_id)
und die faculty_id
Verweis auf eine andere Tabelle namens Faculty(faculty_id, name,comment)
.
meine Geschichte ist, dass ich nicht so viel updates auf der staging-Datenbank, Fakultät Tabelle, ändern viele der Fakultät Kommentar und Namen ohne änderung der Klasse Tabelle. Ich möchte zum kopieren des staging-Fakultät Tabelle zur Produktion. Mein original Weg ist, um ein Skript zu generieren, von Inszenierung und löschen Sie die Daten-Tabelle, die Fakultät in der Produktion und das Skript ausführen, um kopieren Sie die staging-Tabelle mit Daten Fakultät der Produktion. Allerdings fand ich, dass ich nicht löschen kann die Fakultät die Tabelle, da die foreign key. aber ich will nicht zu schreiben Hunderte von update-Anweisung, und auch nicht löschen kann, die Klasse, die Daten in der Produktion, wie kann ich tun, wenn ich die kopieren möchten Fakultät Tabelle zur Produktion?
- Welche version von SQL Server, bitte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorübergehend löschen Sie die Beziehung zwischen
class
undfaculty
und tun, was auch immer und dann wieder herstellen der Beziehung..Versuchen Sie dies:
Sicherung Ihrer Klasse Tabelle, die Fremdschlüssel.
Abschneiden der Klasse Tabelle.
Machen Ihre updates zu Fakultät.
Schließlich die Wiederherstellung Ihrer Klasse Tabelle.
Lassen Sie uns davon ausgehen, dass alle Ersatzschlüssel in der Inszenierung Fakultät sind die gleichen wie diejenigen in der Produktion.
Wenn der Versuch, den Wiederaufbau der foreign-key-Referenz fehlschlägt, dann gibt es Probleme mit Ihrem Ersatzschlüssel in Ihrer Inszenierung Fakultät Tabelle.
Dinge zu beachten:
Inszenierung?
Wussten Sie, können Sie ein SQL-Skript Generieren, das mit SQL?
(Dies funktioniert nur, wenn die Fakultät hat die gleichen faculty_id in der Inszenierung und Produktion)
Dieser wird gen-Skript zum einfügen der neuen Fakultäten:
Dieser wird gen-Skript zur Aktualisierung der Bestehenden Fakultäten:
wenn man Zitate in die Sie den Namen oder Kommentar-Felder, die Sie möglicherweise möchten, ersetzen Sie name und Kommentar in den SQL-Anweisungen oben bei:
Es ist nicht der beste Weg, vor allem wenn man inserts und updates auf beide Tabellen, die in beiden Umgebungen. Aber wenn die Daten für die Fakultät wächst nur in der Inszenierung dieser Werke.
Auch einige Abfragen software zeigt ein blob-oder einige hex beim ausführen dieser SQL-Anweisungen, weil es denkt, dass die Zeichenfolge ist zu lang, um zu zeigen, wenn Sie kopieren und einfügen, könnte es immer noch, das richtige herauskommen. Ansonsten versuchen Sie ein anderes SQL-Abfrage-tool. Ich benutze DBVisualiser für diese Art der Sache, und es funktioniert. Ich bin nicht Werbung für einen bestimmten DB-Abfrage-tool, es ist nur ich habe zur Abfrage von mySQL-und MSSQL oft so das ich finde mich springen von App zu app, um den job zu erledigen.
Wenn es die Eingabe von Daten in beiden Umgebungen sollten Sie eine ordnungsgemäße Daten-Vergleich-tool : http://en.wikipedia.org/wiki/Comparison_of_database_tools
Und sobald Sie anfangen, über diese man Frage wird vermutlich unterschiedlich sein.
Wahrscheinlich ist dieser verrückte denkt, aber ich habe festgestellt, dass es praktisch vor...