Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Verwenden von UDF für den Standardwert einer Spalte

Nein, da der Standardwert benötigt wird, bevor die DealerID bekannt ist (zB bei INSERT)

Bearbeiten:

Dies bedeutet, dass SQL Server den Wert in der Tabelle nicht zum Zeitpunkt des Einfügens übernimmt, sondern erst danach. Daher kann es keine UDF für die Vorgabe sein.

Was ist zum Beispiel mit einer mehrzeiligen Einfügung oder wo Sie NEWID() als Standard haben?

Verwenden Sie nun die grundlegende Logik für DealerID:Wenn es sich um eine GUID handelt, warum? Es ist ein interner, nicht vom Benutzer lesbarer Wert.

Wenn Sie das wirklich brauchen, müssen Sie eine berechnete Spalte für den "Basiswert" und eine andere Spalte für den "tatsächlichen" Wert mit ISNULL verwenden.