Freigeben über


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)