2つの既存のテーブル(TableAとTableB)があり、TableBへの外部キーを持ち、デフォルト値がnullではない新しい列をTableAに追加する必要があります...これらの制約は両方とも名前を付ける必要があります。これどうやってするの?
質問する
68270 次
1 に答える
133
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)
于 2012-10-23T14:58:49.673 に答える