Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

晴耕雨読

working in the fields on fine days and reading books on rainy days

[SQLServer] テーブルに列を追加する方法

SQL Serverでテーブルに列を追加するためによく使うSQLのテンプレを紹介します。 SQLの処理の流れとしては、以下の通りです。

  1. テーブルを別名にする (exec sp_rename)
  2. 新テーブルを作成する (create table)
  3. 旧テーブルから新テーブルに移行する (insert into)
  4. 旧テーブルを削除する (drop table)

テンプレのSQLは以下の通りです。TARGETTABLEのテーブル名だけ処理対象のテーブル名に置き換えてから実行してください。

-- 1. テーブルを別名にする
exec sp_rename 'TARGETTABLE', 'TARGETTABLE_BACKUP';
exec sp_rename 'pk_TARGETTABLE', 'pk_TARGETTABLE_BACKUP';
go

-- 2. 新テーブルを作成する
create table TARGETTABLE (
    列名1  varchar(20)  not null,
    列名2  varchar(40)  not null,
    :
    新規追加列  varchar(30)  not null
)

-- 3. 旧テーブルから新テーブルに移行する(新規追加列は初期値をセットする)
insert into TARGETTABLE
select
  列名1,列名2,...,''
from
  TARGETTABLE_BACKUP

-- 4. 旧テーブルを削除する
drop table TARGETTABLE_BACKUP

以上です。