サンプルプログラム概要
既存のテーブルにカラム「MILEAGE」を追加する。
また当該カラムに「NOT NULL制約」を設定し「デフォルト値」として0.0を設定する。
サンプルプログラム
ALTER TABLE [dbo].[employee_20191201]
ADD MILEAGE numeric(10,5) DEFAULT 0.0 NOT NULL;
結果
「デフォルト値」が設定されているカラムの削除方法
①DEFAULT制約の名称を取得
SELECT obj.name
FROM sys.objects AS obj
JOIN sys.columns AS clm ON obj.object_id = clm.default_object_id
WHERE obj.type = 'D'
AND obj.parent_object_id = OBJECT_ID('dbo.employee_20191201') --テーブル名を指定
AND clm.name = 'MILEAGE' --カラム名を指定
②取得したDEFAULT制約を削除
--テーブル名とDEFAULT制約の名称を指定
ALTER TABLE dbo.employee_20191201 DROP CONSTRAINT DF__employee___MILEA__6EF57B66;
③カラムを削除
--テーブル名と削除するカラム名を指定
ALTER TABLE dbo.employee_20191201 DROP COLUMN [MILEAGE];