sql >> Database >  >> RDS >> Sqlserver

Een kolom met een standaardwaarde toevoegen aan een bestaande tabel in SQL Server

Syntaxis:

ALTER TABLE {TABLENAME} 
ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} 
CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}
WITH VALUES

Voorbeeld:

ALTER TABLE SomeTable
        ADD SomeCol Bit NULL --Or NOT NULL.
 CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.
    DEFAULT (0)--Optional Default-Constraint.
WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.

Opmerkingen:

Optionele beperkingsnaam:
Als u CONSTRAINT D_SomeTable_SomeCol weglaat dan genereert SQL Server automatisch
    een standaardcontraint met een grappige naam zoals:DF__SomeTa__SomeC__4FB7FEF6

Optioneel With-Values ​​Statement:
De WITH VALUES is alleen nodig als uw kolom Nullable is
    en u wilt dat de standaardwaarde wordt gebruikt voor bestaande records.
Als uw kolom NOT NULL is , dan gebruikt het automatisch de standaardwaarde
    voor alle bestaande records, of u nu WITH VALUES opgeeft of niet.

Hoe invoegingen werken met een standaardbeperking:
Als u een record invoegt in SomeTable en doe niet Specificeer SomeCol 's waarde, dan wordt deze standaard ingesteld op 0 .
Als u een record en . invoegt Specificeer SomeCol 's waarde als NULL (en uw kolom staat nulls toe),
    dan zal de standaardbeperking niet worden gebruikt en NULL wordt ingevoegd als de waarde.

Opmerkingen zijn gebaseerd op de geweldige feedback van iedereen hieronder.
Speciale dank aan:
    @Yatrix, @WalterStabosz, @YahooSerious en @StackMan voor hun opmerkingen.



  1. Hoe kan ik alleen werktijd teruggeven van reserveringen in PostgreSql?

  2. Invoegen in Oracle geneste tabel in Java

  3. Wat is het jaar 2038-probleem?

  4. Door leidingen gescheiden string in kolommen ontleden?