/ /名前付きデフォルト制約と名前付き外部キー制約でテーブルの追加列を変更する方法は? - SQLサーバー

名前付きデフォルト制約と名前付き外部キー制約を使用してテーブルを追加する方法- SQLサーバー

私は2つの既存のテーブル(TableAとTableB)TableBへの外部キーを持ち、デフォルト値がnullでないTableAに新しい列を追加する必要があります。これらの両方の制約に名前を付ける必要があります。これどうやってするの?

回答:

回答№1の84

1つのステートメントに両方の制約を追加することはありませんでした私はそれがそうであると思ったように簡単なものでした。そこには多くの例があるようでした(少なくとも私は非常に簡単に見つけることができませんでした)ので、私はここで、より良い方法を提案できますか?

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])

例:

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

回答№2の場合は0

私はSQL Server Management Studioの2つの部分でそれを行いました。

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

その後、私は手動でGUIDを実際に新しい列に入れるべきものに変更しました。次に、私は外部キー制約を追加しました。

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