So legen Sie eine function als Standardwert in SQL server fest?

Ich bin in Schwierigkeiten bitte helfen.

Nach der search nach meiner Frage habe ich mich entschlossen, hier zu posten.

Schau dir meinen Code an und sag mir, ob ich den Standardwert als function einstellen kann.

Was ich tun möchte, ist, die ersten drei character der data meiner ersten Spalte zu zeigen, die Product_Name .

Zum Beispiel hat meine erste Spalte einen Namen Xperia und und ich möchte, dass ihre ersten drei character in der letzten Spalte angezeigt werden, die ich mit dem Änderungscode erstellt habe.

Ich hoffe du verstehst was ich sage.

 Xperia ----> Xpe 

Code ist:

 alter table dummy add new_col varchar(250) default substring(first_column, 1, 3) 

gibt einen Fehler zurück:

Msg 128, Stufe 15, Zustand 1, Zeile 2
Der Name "first_column" ist in diesem Zusammenhang nicht erlaubt. Gültige Ausdrücke sind Konstanten, konstante Ausdrücke und (in einigen Kontexten) variables. Spaltennamen sind nicht zulässig.

Allerdings kann ich die function getdate() als Standardwert setzen.

Vielen Dank

   

Warum versuchst du, den Tisch zu ändern? Es klingt wie du brauchst eine VIEW .

Eine view kann ein zusätzliches Feld hinzufügen, nur die ersten drei character auswählen und müsste nicht jedes Mal aktualisiert werden, wenn Sie UPDATE oder INSERT data haben. Beispielsweise:

 CREATE VIEW Table_With_Truncated_Product_Name AS SELECT *, LEFT(Product_Name, 3) AS truncated_product_name FROM Your_Table 

Wenn Sie jedoch keine VIEW möchten, kann es möglich sein, eine berechnete Spalte zu verwenden .

In diesem Fall würden Sie Ihren Tisch ändern und das Feld hinzufügen:

 ALTER TABLE Your_Table ADD truncated_product_name AS LEFT(Product_Name, 3) 

Obwohl ich momentan keinen Zugriff auf SQL server habe, um zu überprüfen, dass das funktionieren würde.