So ändern Sie den Datentyp einer Spalte mit einem Standardwert

8

Ich versuche, den Datentyp einer Spalte in SQL Server von Tinyint zu Smallint zu ändern.

Aber es gibt einen Standardwert für meine Spalte und ich kenne den Namen der Einschränkung nicht.

Gibt es einen einfachen Weg dazu?

Dies funktioniert wegen der Standardbedingung nicht:

%Vor%     
GregM 15.02.2012, 19:30
quelle

3 Antworten

19

Sie müssen dies in mehreren Schritten tun - zuerst: Lassen Sie die Standardbedingung für Ihre Spalte fallen und ändern Sie dann Ihre Spalte.

Sie könnten den folgenden Code verwenden:

%Vor%     
marc_s 15.02.2012, 19:50
quelle
2

Sie können es als dreistufigen Prozess

tun
  • fügen Sie die neue Spalte mit einem anderen Namen hinzu,
  • Kopieren Sie die Werte aus der alten Spalte in die neue
  • lösche die alte Spalte

Es ist wichtig, dass der Name derselbe ist, dann wiederholen Sie den Vorgang, um den Namen zurück zu ändern.

    
Matt T 15.02.2012 19:45
quelle
0

Sie finden den Constraint-Namen für den Standard mithilfe von MS Management Studio. Suchen Sie einfach den Tabellenordner für die angegebene Datenbank und schauen Sie unter Einschränkungen nach. Wenn es viele Einschränkungen gibt, können Sie die Einschränkung (en) in ein Abfragefenster schreiben, die den zugehörigen Spaltennamen anzeigen.

    
ron tornambe 15.02.2012 19:50
quelle