Standardwerte
Standardwerte geben die Werte an, die in einer Spalte verwendet werden, wenn Sie beim Einfügen einer Zeile keinen Wert für die entsprechende Spalte angeben. Standardwerte können alle Ausdrücke sein, die zu einer Konstanten ausgewertet werden, z. B. Konstanten, integrierte Funktionen oder mathematische Ausdrücke.
Um Standardwerte anzuwenden, erstellen Sie eine Standarddefinition durch Verwendung des DEFAULT-Schlüsselworts in CREATE TABLE. Damit wird einer Spalte ein konstanter Ausdruck als Standardwert zugewiesen. Weitere Informationen finden Sie unter Erstellen und Ändern von DEFAULT-Definitionen.
Mit dem folgenden Beispiel wird eine Tabelle erstellt, die verschiedene Typen von Standardausdrücken verwendet. In dem Beispiel wird ein Standardobjekt erstellt, um einer Spalte einen Standardwert zuzuweisen. Anschließend wird das Standardobjekt an die Spalte gebunden. Danach wird eine Testeinfügung vorgenommen, wobei für die Spalten mit Standardwert kein Wert angegeben wird. Die Testzeilen werden abgerufen, um zu überprüfen, ob die Standardwerte angewendet wurden.
USE AdventureWorks2008R2;
GO
CREATE TABLE test_defaults
(keycol smallint,
process_id smallint DEFAULT @@SPID, --Preferred default definition
date_ins datetime DEFAULT getdate(), --Preferred default definition
mathcol smallint DEFAULT 10 * 2, --Preferred default definition
char1 char(3),
char2 char(3) DEFAULT 'xyz') --Preferred default definition;
GO
/* For illustration only, use DEFAULT definitions instead.*/
CREATE DEFAULT abc_const AS 'abc';
GO
sp_bindefault abc_const, 'test_defaults.char1';
GO
INSERT INTO test_defaults(keycol) VALUES (1);
GO
SELECT * FROM test_defaults;
GO
Dies ist das Resultset.
Default bound to column.
(1 row(s) affected)
keycol process_id date_ins mathcol char1 char2
------ ---------- --------------------------- ------- ----- -----
1 7 Oct 16 1997 8:34PM 20 abc xyz
(1 row(s) affected)