--默认值,举个例子:declare @tb table(a int,b datetime default getdate())insert into @tb(a) values(1)  select * from @tb
/*--结果
a           b                                                      
----------- ------------------------------------------------------ 
1           2003-10-17 12:02:10.573(所影响的行数为 1 行)
--*/

解决方案 »

  1.   

    DEFAULT 定义
    每列只能有一个 DEFAULT 定义。
    DEFAULT 定义可以包含常量值、函数、SQL-92 niladic 函数或 NULL。下表显示 niladic 函数及其在执行 INSERT 语句时返回的默认值。 SQL-92 niladic 函数 返回的值 
    CURRENT_TIMESTAMP 当前日期和时间。 
    CURRENT_USER 执行插入操作的用户名。 
    SESSION_USER 执行插入操作的用户名。 
    SYSTEM_USER 执行插入操作的用户名。 
    USER 执行插入操作的用户名。 
    DEFAULT 定义中的 constant_expression 不能引用表中的其它列,也不能引用其它表、视图或存储过程。
    不能在数据类型为 timestamp 的列或具有 IDENTITY 属性的列上创建 DEFAULT 定义。
    如果用户定义数据类型绑定到默认对象,则不能在该用户定义数据类型的列上创建 DEFAULT 定义。 
      

  2.   

    使用 DEFAULT 定义
    使用 INSERT 和 UPDATE 语句时,如果没有提供值,则默认值会提供值。在 pubs 数据库中,使用了许多 DEFAULT 定义以确保输入有效的数据或占位符。在 jobs 表上,当没有显式输入实际的描述信息时,默认的字符串将提供描述信息(列 job_desc)。DEFAULT 'New Position - title not formalized yet'在 employee 表中,员工可以受雇于子公司或母公司。如果没有显式提供公司信息,则输入母公司(注意在表定义中可以嵌套注释,如下所示)。DEFAULT ('9952')
    /* By default the Parent Company Publisher is the company
    to whom each employee reports. */除了常量以外,DEFAULT 定义还可以包含函数。使用下例获取输入项的当前日期:DEFAULT (getdate())niladic 函数也可以提高数据的完整性。若要跟踪插入行的用户,请使用 niladic 函数 USER(niladic 函数不使用括号):DEFAULT USER