デフォルトの制約を追加するためのコマンド


81

ストレートT-SQLを使用してデフォルトの制約を追加するには、少なくとも2つの方法があるようです。以下の2つの違いは、2番目のメソッドが制約の名前を具体的に作成し、最初のメソッドがSQL Serverによって生成された名前を持っていることだけです。

ALTER TABLE [Common].[PropertySetting] ADD DEFAULT ((1)) FOR [Active];
ALTER TABLE [Common].[PropertySetting] ADD CONSTRAINT [DF_PropertySetting_Active) DEFAULT ((1)) FOR [Active];

回答:


104

ほぼ、ALTERTABLEの場合はそうです

CREATEまたはALTERの場合も、1つのステップでデフォルトの列を追加できます。

ALTER TABLE foo ADD bar varchar(100) CONSTRAINT DF_Foo_Bar DEFAULT ('bicycle')
ALTER TABLE foo ADD bar varchar(100) DEFAULT ('bicycle')

お気づきのとおり、名前が指定されていない場合、システムは名前を生成します。CONSTRAINT constraint_nameオプションであるとMSDNは言います。同じことがすべてのまたはテーブルに適用されますCONSTRAINT

編集 列がすでに作成されていて、制約を追加するだけの場合は、次を使用します。

ALTER TABLE TableName ADD CONSTRAINT DF_Foo_Bar DEFAULT 'bicycle' FOR FieldName;

3
DF_Foo_Bar列がすでに存在する場合でも、の代わりに生成された名前を使用できますか?
slartidan 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.