SQL SERVER 2005中的约束
2010-10-01 09:00:36 来源:WEB开发网这里顺便提一下,如果我们执行了下面的代码,结果会是怎样呢?
insert into goods values(null)
如果你觉得也会报错,那么恭喜你,你错了。约束其实是对满足条件,即条件表达式返回TRUE的一律通过。那么,如果结果是NULL呢?NULL在SQL SERVER里的类型是UNKNOWN,就是不知道。那我们就要把它理解成可以成为任何类型,可能为TRUE。所以在这个例子中,NULL是可以被插入的。
2. Default Constraints
这个约束相对简单一些,就是事先定义一个默认值,如果在插入数据的时候没有指定,系统会自动把事先定义好的默认值写入对应的列。
create table Product(
ProductID int identity(1,1) primary key,
ProductName varchar(80) not null,
Country varchar(40) default 'China'
)
Country这列就是一个含有Default约束的列,如果在插入一条数据的时候没有指定值,那么系统会默认的插入China.
insert into product values('AAA','US')
insert into product(ProductName) values('BBB')
结果为
1 AAA US
2 BBB China
3.
Unique Constraints
Unique就是独有的,这个约束就是确保在非主键列中不输入重复的值。这一点与主键的概念可能有一些类似,之所以把Unique放在前面说,就是为了强调一点,如果想强制一列或者多列的组合的唯一性时,应该选择Unique而不是主键。
同时,还有一点,主键不能为null,但是Unique可以支持null。
alter table product
add ProductCode int null constraint pc_unique unique
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接