MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > SQL
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 29.10.2018, 17:33   #1
thomasreick
MOF User
MOF User
Standard T-SQL : MSSQL 2012 - Feld aktualisieren oder besser umbenennen

Hallo zusammen,
folgende Situation:
in einer normalisierten Tabelle sind ein Feld für eine "alte" [alt] und eine Feld für eine "neue" [neu] Kundennummer. Für jeden Wert der alten Nummer gibt es einen im Feld der neuen Nummer.
Es liegt ein non-clustered unique index,vor der auch das Feld [alt] beinhaltet

Was ist jetzt einfacher?
  1. index entfernen
  2. [alt] mit [neu] aktualisieren (UPDATE tbl SET alt=neu)
  3. index neu setzen

oder
  1. index entfernen
  2. felder umbenenen (so daß [neu] zu [alt] wird, also z.B.)
    EXEC sp_rename 'dbo.MyTable.Alt', 'GanzAlt', 'COLUMN';
    EXEC sp_rename 'dbo.MyTable.Neu', 'Alt', 'COLUMN';
  3. index neu setzen

Wäre der Ansatz der 2ten Alternative korrekt?
Was ist der am wenigsten schädlichste Weg? Denn jede Menge Views und Stored Procs nutzen den Feldnamen [Alt] im weiteren Verlauf.
Ich bin da sehr unsicher....

__________________

Ich bitte um Input.

Vielen Dank

Thomas Reick
thomasreick ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 29.10.2018, 18:38   #2
hcscherzer
MOF Guru
MOF Guru
Standard

Wenn die alten Nummern durch die neuen ersetzt werden sollen, ist im ersten Beispiel die Information, die in den alten gespeichert gewesen ist, unwiderruflich verloren.
Das ist möglicherweise tatsächlich suboptimal.
Der Index auf 'alt' müsste auch nur entfernt werden, wenn irgendein neuer Wert mit einem anderen aus 'alt' kollidieren würde.

Da ist die Geschichte mit dem Umbenennen sicherlich besser.

Eine dritte Alternative wäre das Anlegen eines dritten Felds, in das die Werte aus 'alt' kopiert werden, bevor sie mit den Inhalten von 'neu' überschrieben werden.

__________________

Freundlichen Gruß
Hans-Christian
-----------------------------------------
Oft erwünscht, selten beachtet: nach Erledigung des Problems den Thread als erledigt zu markieren
-----------------------------------------
Ich möchte nur Mitglied in einem Verein sein, der Leute wie mich nicht als Mitglied aufnimmt (Groucho Marx).
-----------------------------------------
Ab sofort regelmässig: MOF Stammtisch in Bremen. Näheres hier.

Geändert von hcscherzer (29.10.2018 um 18:41 Uhr).
hcscherzer ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.10.2018, 07:18   #3
thomasreick
Threadstarter Threadstarter
MOF User
MOF User
Standard

Guten Morgen Hans-Christian,
danke für deine Nachricht.

Die "dritte Alternative" wurde bedacht und bereits im Vorfeld umgesetzt, die alte Info ist also nicht verloren.

Ich werde das wohl mit dem Umbenennen machen, da aufgrund eines Remote-Zuganges das SSMS die Verbindung nicht so super stabil ist und ich bei Abbrüchen dann keine Statusmeldung nach Beendigung sehe.

Da es sich um einen "Austausch" von Kundennummern (mit veränderter Länge) handelt, erscheint mir die Wegnahme des Index und die anschließende Neusetzung desselben geboten.

Vielen Dank noch mal.

Thema ist erledigt.
Thomas

__________________

Ich bitte um Input.

Vielen Dank

Thomas Reick
thomasreick ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:47 Uhr.



Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.