WEB开发网
开发学院数据库MSSQL Server SQL SERVER 2005中的约束 阅读

SQL SERVER 2005中的约束

 2010-10-01 09:00:36 来源:WEB开发网   
核心提示:你知道SQL SERVER中约束到底有几种吗?你知道约束与主键是什么关系吗?你知道约束该如何使用吗?如果你对这几个问题还有疑问,那么就请继续往下看吧,SQL SERVER 2005中的约束,SQL SERVER 2005中,约束,如果大于1000,满足条件就插入,Constraints,顾名思义

你知道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'.

1 2 3  下一页

Tags:SQL SERVER 约束

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接