【SQL Server】【ALTER】既存のテーブルにカラムを追加する

サンプルプログラム概要

既存のテーブルにカラム「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];

タイトルとURLをコピーしました