/ / Wie ändert man die Tabellen-Add-Spalte mit der benannten Standard-Integritätsbedingung und der benannten Fremdschlüssel-Integritätsbedingung? - SQL Server

Wie ändert man die Tabellen-Add-Spalte mit der benannten Standard-Einschränkung und der benannten Fremdschlüssel-Bedingung? - SQL Server

Ich habe zwei vorhandene Tabellen (TableA und TableB)und ich muss TableA eine neue Spalte hinzufügen, die einen Fremdschlüssel für TableB hat und einen Standardwert hat, der nicht null ist ... und beide Einschränkungen müssen benannt werden. Wie kann ich das machen?

Antworten:

84 für die Antwort № 1

Das Hinzufügen beider Einschränkungen in einer Anweisung wurde nicht durchgeführtso einfach, wie ich dachte, und es gab anscheinend nicht viele Beispiele (zumindest konnte ich keine sehr leicht finden), also dachte ich, ich würde teilen, wie ich es hier gemacht habe und vielleicht jemand kann einen besseren Weg vorschlagen?

ALTER TABLE [table name] ADD
[New Column Name] [Column Type]
CONSTRAINT [constraint name] DEFAULT ([default value]) NOT NULL,
CONSTRAINT [constraint name] FOREIGN KEY ([New Column Name])
REFERENCES [Other Table] ([Foreign ID])

Beispiel:

ALTER TABLE tableA ADD
myNewColumn BIGINT
CONSTRAINT myNamedConstraint_df default (1) NOT NULL,
CONSTRAINT myNamedConstraint_fk FOREIGN KEY (myNewColumn)
REFERENCES tableB (tableBPrimaryKeyID)

0 für die Antwort № 2

Ich habe es in zwei Teilen getan, in SQL Server Management Studio.

ALTER TABLE MyTable
ADD MyId uniqueidentifier DEFAULT (NEWID())

Dann änderte ich manuell die GUIDs, was sie wirklich in der neuen Spalte sein sollten. Dann fügte ich die Fremdschlüsseleinschränkung hinzu.

ALTER TABLE MyTable
ADD FOREIGN KEY (MyId )
REFERENCES OtherTable(Id)