Angeben von Standardwerten für Spalten

Gilt für: SQL Server 2016 (13.x) und höher Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Sie können mit SQL Server Management Studio (SSMS) einen Standardwert angeben, der in die Tabellenspalte eingegeben wird. Sie können einen Standard festlegen, indem Sie den Objekt-Explorer verwenden oder Transact-SQL ausführen.

Wenn Sie der Spalte keinen Standardwert zuweisen und der Benutzer die Spalte leer lässt, passiert Folgendes:

  • Wenn Sie die Option so festlegen, dass NULL-Werte zugelassen sind, wird NULL in die Spalte eingefügt.

  • Wenn NULL-Werte nicht zugelassen sind, bleibt die Spalte leer. Die Zeile kann jedoch erst dann gespeichert werden, wenn ein Wert in die Spalte eingegeben wird.

Begrenzungen

Bevor Sie beginnen sollten Sie die folgenden Einschränkungen kennen:

  • Wenn die Eingabe im Feld Standardwert einen gebundenen Standardwert ersetzt (der ohne Klammern angezeigt wird), werden Sie aufgefordert, die Bindung des Standardwerts aufzuheben und ihn durch den neuen Standardwert zu ersetzen.

  • Um eine Textzeichenfolge einzugeben, schließen Sie den Wert in einfache Anführungszeichen (') ein. Verwenden Sie keine doppelten Anführungszeichen ("), da sie für Bezeichner in Anführungszeichen reserviert sind.

  • Um einen numerischen Standardwert einzugeben, geben Sie die Zahl ohne Anführungszeichen ein.

  • Wenn Sie ein Objekt bzw. eine Funktion eingeben, geben Sie den Namen des Objekts bzw. der Funktion ein, ohne ihn in Anführungszeichen einzuschließen.

Hinweis

In Azure Synapse Analytics können nur Konstanten für eine Standardeinschränkung verwendet werden. Ein Ausdruck kann bei einer Standardeinschränkung nicht verwendet werden.

Berechtigungen

Die in diesem Artikel beschriebenen Aktionen erfordern die ALTER-Berechtigung für die Tabelle.

Verwenden von SQL Server Management Studio zum Angeben eines Standardwerts

Sie können im Objekt-Explorer in SSMS einen Standardwert für eine Tabellenspalte angeben. Führen Sie dazu die folgenden Schritte aus:

  1. Stellen Sie eine Verbindung mit Ihrer SQL Server-Instanz über SSMS her.

  2. Klicken Sie im Objekt-Explorer mit der rechten Maustaste auf die Tabelle mit den Spalten, für die Sie die Skalierung ändern möchten, und klicken Sie auf Entwerfen.

  3. Wählen Sie die Spalte aus, für die Sie einen Standardwert angeben möchten.

  4. Geben Sie den neuen Standardwert auf der Registerkarte Spalteneigenschaften in der Eigenschaft Standardwert oder -bindung ein.

    Um einen numerischen Standardwert einzugeben, geben Sie die Zahl ein. Geben Sie bei einem Objekt oder einer Funktion den entsprechenden Namen ein. Geben Sie für einen alphanumerischen Standardwert den Wert in einfachen Anführungszeichen ein.

  5. Klicken Sie im Menü Datei auf <Tabellenname> speichern.

Angeben eines Standardwerts mit Transact-SQL

Es gibt verschiedene Möglichkeiten, wie Sie mit T-SQL einen Standardwert für eine Spalte angeben können. In jedem der folgenden Beispiele können Sie eine neue Transact-SQL-Abfrage mit diesen Schritten öffnen.

  1. Stellen Sie im Objekt-Explorer eine Verbindung mit einer Datenbank-Engine-Instanz her.

  2. Klicken Sie in der Standardleiste auf Neue Abfrage.

  3. Kopieren Sie das Beispiel in das Abfragefenster, und klicken Sie dann auf Ausführen.

Verwenden von ALTER TABLE

CREATE TABLE dbo.doc_exz (
    column_a INT,
    column_b INT
); -- Allows nulls.
GO

INSERT INTO dbo.doc_exz (column_a)
VALUES (7);
GO

ALTER TABLE dbo.doc_exz
ADD CONSTRAINT DF_Doc_Exz_Column_B DEFAULT 50 FOR column_b;
GO

Verwenden von CREATE TABLE

CREATE TABLE dbo.doc_exz (
    column_a INT,
    column_b INT DEFAULT 50
);

Verwenden einer benannten Einschränkung

CREATE TABLE dbo.doc_exz (
    column_a INT,
    column_b INT CONSTRAINT DF_Doc_Exz_Column_B DEFAULT 50
);