ALTER 表

ALTER TABLE table
{
   [ ALTER COLUMN column_name
      {  new_data_type [ ( precision [ ,scale ] ) ]
            [ COLLATE <collation_name> ]
            [ NULL | NOT NULL ]
         |  {ADD | DROP } ROWGUIDCOL
      }
   ]
   | ADD
      {     [ <column_definition> ]
         |  column_name AS computed_column_expression
      } [ ,...n ]
   |  [ WITH CHECK | WITH NOCHECK ] ADD
      { <table_constraint> } [ ,...n ] 
   | DROP 
      {   [ CONSTRAINT ] constraint_name 
        | COLUMN column
      } [ ,...n ] 
   | { CHECK | NOCHECK } CONSTRAINT
     { ALL | constraint_name [ ,...n ] }
   | { ENABLE | DISABLE } TRIGGER
     { ALL | trigger_name [ ,...n ] } 
}
参数 意义
precision 数字精度
scale 小数位数
NOT NULL 不允许空值(原数据不能有空值)
WITH NOCHECK 不对现有数据进行检查
CHECK/NOCHECK 启用/禁用 外键约束/检查约束
ALL 表示所有约束/触发器

column_definition

{ column_name data_type }
[
   [ DEFAULT constant_expression ] [ WITH VALUES ]
   | [ IDENTITY

        [ (seed, increment ) [ NOT FOR REPLICATION ] ]

     ]
]
[ ROWGUIDCOL ]
[ COLLATE <collation_name> ]
[ <column_constraint> ] [ ...n ]

column_constraint

[ CONSTRAINT constraint_name ]
{  [ NULL | NOT NULL ]
   | [ { PRIMARY KEY | UNIQUE }
       [ CLUSTERED | NONCLUSTERED ]
       [ WITH FILLFACTOR = fillfactor ]
       [ ON { filegroup | DEFAULT } ]
     ]
   | [ [ FOREIGN KEY ] REFERENCES ref_table [ ( ref_column ) ]
       [ ON DELETE { CASCADE | NO ACTION } ]
       [ ON UPDATE { CASCADE | NO ACTION } ]
       [ NOT FOR REPLICATION ]
     ]
   | CHECK [ NOT FOR REPLICATION ] ( logical_expression )
}

table_constraint

[ CONSTRAINT constraint_name ]
{
   [ { PRIMARY KEY | UNIQUE }
     [ CLUSTERED | NONCLUSTERED ]
     { ( column [ ,...n ] ) }
     [ WITH FILLFACTOR = fillfactor ]
     [ ON { filegroup | DEFAULT } ]
   ]
   | FOREIGN KEY
     [ ( column [ ,...n ] ) ]
     REFERENCES ref_table [ ( ref_column [ ,...n ] ) ]
     [ ON DELETE { CASCADE | NO ACTION } ]
     [ ON UPDATE { CASCADE | NO ACTION } ]
     [ NOT FOR REPLICATION ]
   | DEFAULT constant_expression
        [ FOR column ] [ WITH VALUES ]
   |    CHECK [ NOT FOR REPLICATION ] ( search_conditions )
}