SQLServer 任意の位置に列を追加

Alter Table TBL_xxx ADD COL_xxx int

で列を追加した場合、最後に新しい列が追加される。

任意の場所に列を追加するには、一時テーブルにデータを退避したのち

一旦テーブルを削除し、新しい列を追加した状態でテーブルを作成する。

その後、一時テーブルに退避したデータをテーブルに戻す。


select * into #temp from TBL_ユーザー

drop table TBL_ユーザー

CREATE TABLE [dbo].[TBL_ユーザー](

[ユーザーID] [smallint] NOT NULL,

[ユーザー名] [nvarchar](10) NULL,

[住所] [nvarchar](40) NULL,

CONSTRAINT [PK_TBL_ユーザー] PRIMARY KEY CLUSTERED

(

[ユーザーID] ASC

)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

) ON [PRIMARY]

insert into TBL_ユーザー

select [ユーザーID]

,[ユーザー名]

,''

from #temp t

drop table #temp