回答

收藏

将具有默认值的列添加到 SQL Server 中的现有表

技术问答 技术问答 349 人阅读 | 0 人回复 | 2023-09-11

如何在SQL Server 2000 / SQL Server 2005现有表中添加默认值列?
) z2 Q! T- A7 [$ v* `! k                                                               
( a* |# `3 ^. m    解决方案:                                                                , x/ X! J# ~* ^4 e" \! J* t$ q
                                                                句法:
    ALTER TABLE {TABLENAME} ADD {COLUMNNAME} {TYPE} {NULL|NOT NULL} CONSTRAINT {CONSTRAINT_NAME} DEFAULT {DEFAULT_VALUE}WITH VALUES
    " d8 C; J/ b  K% l7 a
例子:
    ALTER TABLE SomeTable        ADD SomeCol Bit NULL --Or NOT NULL. CONSTRAINT D_SomeTable_SomeCol --When Omitted a Default-Constraint Name is autogenerated.    DEFAULT (0)--Optional Default-Constraint.WITH VALUES --Add if Column is Nullable and you want the Default Value for Existing Records.% B: @% Q5 \+ p1 h" v6 ^
笔记:可选约束名称:
, l8 X' o. W: S; k" O' a/ f4 u2 K- T如果您省略CONSTRAINT D_SomeTable_SomeCol,SQL Server 自动生成
) ~0 \! D6 l6 u6 x: b        有趣名称的默认约束,如:DF__SomeTa__SomeC__4FB7FEF64 K! {4 y3 n4 a2 T' n. s
可选的 With-Values 语句:: C  b  h! w+ N" g5 e; Z
仅 当WITH VALUES您的列为 Nullable7 |1 w/ S9 N4 Z+ `" S) l
        你想在现有记录中使用默认值。" c9 D$ P/ ?. p) y+ }2 c
如果您的 Column 是NOT NULL,无论您是否指定,它都会自动使用
* r& O: K$ I+ r" P5 i        所有现有记录的默认值WITH VALUES。
2 m8 B$ h1 N/ d+ u5 R& A" S$ [如何使用插入默认约束:*& O2 h+ F2 T8 X- @
如果您将记录插入SomeTable并且
不*指定SomeCol如果值,默认为0。! i: V' M# F6 m( s
如果入 Record**并***SpecifySomeCol的值作为NULL(而且你的列允许空值),! M/ p3 h- D0 N6 y( N
        默许约束
不会***被使用,NULL并将作为值插入。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则