GW SQL Tips 祭り第三弾www

カラム追加

ALTER TABLE TEST_TABLE

  ADD   [NewColumnName] nchar(10)

 

カラム削除

ALTER TABLE TEST_TABLE

  DROP COLUMN  [NewColumnName]

 

 

ADD には COLUMN がいらないのが微妙な感じww

 

 

注意点

Not Null なカラムを追加するような場合要注意

↓詳細

ロックと ALTER TABLE

ALTER TABLE で指定した変更は、直ちに実装されます。変更でテーブル内の行の修正が必要になる場合、ALTER TABLE では行が更新されます。ALTER TABLE では、変更中にテーブルのメタデータが他の接続で参照されないように、テーブルに対してスキーマ修正ロックが取得されます。ただし、オンライン インデックス操作の終了時に、非常に短い時間 SCH-M ロックを必要とする場合は、このロックの取得は行われません。ALTER TABLE...SWITCH 操作では、ロックはソース テーブルと対象テーブルの両方に対して取得されます。テーブルに加えられた変更はログに記録され、完全に復旧できます。列の削除や既定値を伴う NOT NULL 列の追加など、きわめて大きなテーブル内のすべての行に影響する変更は、その実行終了までに長い時間がかかり、多くのログ レコードが生成されます。このような ALTER TABLE ステートメントは、多くの行に影響する INSERTUPDATEDELETE の各ステートメントと同じように、十分な注意を払って実行する必要があります。

 

情報リソース

SQL Server 2005 Books Online (2007 9 )

ALTER TABLE (Transact-SQL)

http://msdn.microsoft.com/ja-jp/library/ms190273.aspx

 

必要な権限

 

db_ddladmin

固定データベース ロールのメンバは、すべての DDL (データ定義言語) コマンドをデータベースで実行できます。