SQL SERVER 2005中的约束
2010-10-01 09:00:36 来源:WEB开发网你知道SQL SERVER中约束到底有几种吗?你知道约束与主键是什么关系吗?你知道约束该如何使用吗?如果你对这几个问题还有疑问,那么就请继续往下看吧。
SQL SERVER 2005中,约束,Constraints,顾名思义,就是按照约定来束缚某种东西。在数据库,无非就是对存储的数据进行束缚,当然需要按照某种既定的规则,一般是指语义的限制以及用来制约属性上的关系。可能在平时的工作中,尤其是对开发人员来说,约束用的不是很多,更多的时候是用代码去做一些输入的验证,这其实就是约束的思想,把不满足条件的数据排除在外。其实SQL SERVER 2005也给我们提供这样的一些约束:
1. Check Constraints
我相信大部分的朋友对约束的概念理解应该都是Check类型的约束,这种约束对表中的某一列的格式或者值进行限制,只有满足条件的数据才能被写入。比如:
create table Goods
(
GoodsID int identity(1,1) primary key,
Price decimal(12,4) constraint chkPrice check (Price>1000)
)
上面的SQL建立了一张新表,并且对表中的列Price建立一个check约束,名叫chkPrice,它的作用就是对插入price列数据进行判断,如果大于1000,满足条件就插入,否则就报错。
insert into Goods values(2000)
(1 row(s) affected) 成功
insert into Goods values(200)
ERROR:The INSERT statement conflicted with the CHECK constraint "chkPrice". The conflict occurred in database "AdventureWorks", table "dbo.Goods", column 'Price'.
更多精彩
赞助商链接