3261 Stimmen

Hinzufügen einer Spalte mit einem Standardwert zu einer vorhandenen Tabelle in SQL Server

Wie kann ich eine Spalte mit einem Standardwert zu einer bestehenden Tabelle in SQL-Server 2000 / SQL Server 2005 ?

12 Stimmen

Warum gibt es auf diese Frage 41 Antworten? Wenn ich sie durchsehe, sagen die meisten das Gleiche. Warum werden diese nicht entfernt? Diese Frage braucht nur maximal 3 Antworten.

0 Stimmen

ALTER TABLE SomeTable ADD SomeCol Bit NULL --O NOT NULL. CONSTRAINT D_SomeTable_SomeCol --Wenn ausgelassen, wird ein Default-Constraint Name automatisch generiert. DEFAULT (0)--Optionale Standard-Beschränkung. WITH VALUES --Hinzufügen, wenn die Spalte nullbar ist und Sie den Standardwert für existierende Datensätze haben wollen.

1 Stimmen

@MichaelZ. - 43 Antworten jetzt .....

6voto

raju chowrsiya Punkte 79

Schritt 1. ZUERST MÜSSEN SIE EINE TABELLE ALTERNIEREN UND EIN FELD HINZUFÜGEN

alter table table_name add field field_name data_type

Schritt-2 CREATE DEFAULT

USE data_base_name;
GO
CREATE DEFAULT default_name AS 'default_value';

Schritt 3 DANN MÜSSEN SIE DIESEN VORGANG AUSFÜHREN

exec sp_bindefault 'default_name' , 'schema_name.table_name.field_name'

Beispiel -

USE master;
GO
EXEC sp_bindefault 'today', 'HumanResources.Employee.HireDate';

6voto

Erfan Mohammadi Punkte 396
--Adding New Column with Default Value
ALTER TABLE TABLENAME 
ADD COLUMNNAME DATATYPE NULL|NOT NULL DEFAULT (DEFAULT_VALUE)

OR

--Adding CONSTRAINT And Set Default Value on Column
ALTER TABLE TABLENAME ADD  CONSTRAINT [CONSTRAINT_Name]  DEFAULT 
(DEFAULT_VALUE) FOR [COLUMNNAME]

10 Stimmen

Dies bringt keinen zusätzlichen Nutzen gegenüber den bereits vorhandenen Antworten.

5voto

Chanukya Punkte 5645

SQL Server + Tabelle ändern + Spalte hinzufügen + Standardwert uniqueidentifier...

ALTER TABLE [TABLENAME] ADD MyNewColumn INT not null default 0 GO

4voto

ALTER TABLE Table1 ADD Col3 INT NOT NULL DEFAULT(0)

10 Stimmen

Dies bringt keinen zusätzlichen Nutzen gegenüber den bereits vorhandenen Antworten von vor Jahren.

4voto

jithu thomas Punkte 219

OFFLINE y ONLINE beziehen sich darauf, wie ALTER Tabelle auf NDB Cluster Tables ausgeführt wird. NDB Cluster unterstützt online ALTER TABLE-Operationen unter Verwendung der ALGORITHM=INPLACE-Syntax in MySQL NDB Cluster 7.3 und höher. NDB Cluster unterstützt auch eine ältere, NDB-spezifische Syntax, die die Schlüsselwörter ONLINE und OFFLINE verwendet. Diese Schlüsselwörter sind ab MySQL NDB Cluster 7.3 veraltet; sie werden in MySQL NDB Cluster 7.4 weiterhin unterstützt, können aber in einer zukünftigen Version von NDB Cluster entfernt werden.

IGNORE betrifft die Art und Weise, wie die ALTER-Anweisung mit doppelten Werten in der Spalte mit der neu hinzugefügten Einschränkung UNIQUE umgehen wird. Wenn IGNORE nicht angegeben ist, schlägt ALTER fehl und wird nicht angewendet. Wenn IGNORE angegeben ist, wird die erste Zeile aller doppelten Zeilen beibehalten, die zurückgesetzten gelöscht und die ALTER-Anweisung angewendet.

El ALTER_SPECIFICATION welche Spalte oder welchen Index Sie hinzufügen, löschen oder ändern, oder welche Einschränkungen Sie auf die Spalte anwenden.

ALTER [ONLINE | OFFLINE] [IGNORE] TABLE tbl_name
       alter_specification [, alter_specification] ...

    alter_specification:
        ...
        ADD [COLUMN] (col_name column_definition,...)
        ...

Eg: ALTER TABLE table1 ADD COLUMN foo INT DEFAULT 0;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X