在SQL2000中创建或修改列的默认值 需要注意的一个参数

1.首先我们创建一个表

Create   Table   test( 
ID  int  Default(0), 
Name   Varchar(16)   Default(16), 
) 


2.如果要为表增加一个列AGE,默认值为0

alter table test Add Age int Not Null CONSTRAINT DF_test_Age  DEFAULT (0) WITH VALUES


    WITH VALUES这个参数的说明:

   指定在添加到现有行的新列中存储 DEFAULT constant_expression 中所给定的值。只有在 ADD 列子句中指定了 DEFAULT 的情况下,才能使用 WITH VALUES。如果要添加的列允许空值且指定了 WITH VALUES,那么将在现有行的新列中存储默认值。如果没有指定 WITH VALUES 且列允许空值,那么将在现有行的新列中存储 NULL 值。如果新列不允许空值,那么不论是否指定 WITH VALUES,都将在现有行的新列中存储默认值。

      也就是说,如果我们使用的语句为:alter table test Add Age int Null CONSTRAINT DF_test_Age DEFAULT (0)   ,在这种情况下存储值可能为NULL值,如果要避免这种情况需要在语句后增加WITH VALUES参数


 


你可能感兴趣的:(在SQL2000中创建或修改列的默认值 需要注意的一个参数)