SQL Server berechnete Spalte ändern

8

Kennt jemand eine Möglichkeit, eine berechnete Spalte zu ändern, ohne die Spalte in SQL Server zu löschen. Ich möchte damit aufhören, die Spalte als berechnete Spalte zu verwenden und Daten direkt in der Spalte zu speichern, möchte aber die aktuellen Werte beibehalten.

Ist das überhaupt möglich?

    
YonahW 04.09.2008, 16:25
quelle

3 Antworten

9

Nicht, dass ich weiß, aber hier ist etwas, was Sie tun können

fügen Sie der Tabelle eine weitere Spalte hinzu Aktualisieren Sie diese Spalte mit den Werten der berechneten Spalte, und löschen Sie die berechnete Spalte

    
SQLMenace 04.09.2008, 16:30
quelle
1

Ok, also lass mich sehen, ob ich das richtig verstanden habe. Sie möchten eine Spalte, die derzeit berechnet wird, nehmen und sie zu einer Plain-Jane-Datenspalte machen. Normalerweise würde dies die Spalte löschen, aber Sie möchten die Daten in der Spalte behalten.

  1. Erstellen Sie eine neue Tabelle mit den Primärschlüsselspalten aus Ihrer Quelltabelle und der generierten Spalte.
  2. Kopieren Sie die Daten aus Ihrer Quelltabelle in die neue Tabelle.
  3. Ändern Sie die Spalte in Ihrer Quellentabelle.
  4. Kopieren Sie die Daten zurück.

Egal, was Sie tun, ich bin mir ziemlich sicher, dass das Ändern der Spalte es fallen lässt. Dieser Weg ist ein bisschen komplexer, aber nicht so schlimm und es speichert Ihre Daten.

[Bearbeiten: @ SqlMenace's Antwort ist viel einfacher. :) Verflucht du Bedrohung !! :)]

    
Craig 04.09.2008 16:30
quelle
1

Wenn Sie den Namen der Spalte pflegen müssen (um den Client-Code nicht zu beschädigen), müssen Sie die Spalte löschen und eine gespeicherte Spalte mit demselben Namen hinzufügen. Sie können dies ohne Ausfallzeiten tun, indem Sie die Änderungen (gemäß der Lösung von SQLMenace) in einer einzigen Transaktion vornehmen. Hier ist ein Pseudo-Code:

%Vor%     
harpo 04.09.2008 17:00
quelle

Tags und Links