1. ホーム
  2. sql

[解決済み] デフォルトの制約を追加するコマンド

2023-07-09 01:31:46

質問

ストレート T-SQL を使用してデフォルト制約を追加するには、少なくとも 2 つの方法があるようです。以下の 2 つの違いは、2 番目の方法は制約の名前を明確に作成し、1 番目の方法は SQL Server によって生成される名前を持っているということだけであっていますか?

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

どのように解決するのですか?

ALTER TABLEの場合、ほとんどそうです。

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;