当前位置: 代码迷 >> Sql Server >> 默认值约束与默认值,功用为何,区别为何
  详细解决方案

默认值约束与默认值,功用为何,区别为何

热度:82   发布时间:2016-04-24 18:34:44.0
默认值约束与默认值,作用为何,区别为何?
create table stuinfor
( name varchar(20),
  gender char(2)
)

--gender字段添加默认值为’男‘

--比如'gender'默认值为'男'
alter table stuinfor
add constraint df_gender
default '男' for gender

--又比如name列默认名’张三‘

--我也可以以这种方式加

create default gender as '张三'      --创建默认

sp_bindefault 'gender','stuinfor.name'       --绑定默认到指定列

sp_helpconstraint 'stuinfor'     --查看指定表的约束


问题:
两者都为默认值,但前者为约束类型,后者归为默认值,作用相同,为什么sqlserver要这么设计呢?
默认值的用处何为啊?是不是意思为当某字段为空时,在调用该字段时,取用该字段默认值?小弟不解,请大神们开解,记得以前在论坛里有人问过,印象不深。

------解决方案--------------------
默认值约束是在一个表内针对某一个字段定义的, 仅对该字段有效。 

默认值是一种数据库对象,在数据库中定义一次后,可以被多次应用于表中的一列或多列,还可用于用户自定义的数据类型
  相关解决方案