WEB开发网
开发学院数据库MSSQL Server 使用CHECK约束执行业务规则 阅读

使用CHECK约束执行业务规则

 2008-12-31 10:16:59 来源:WEB开发网   
核心提示: 图一尝试把值插入到SALARY字段超出了我们定义的范围,这也被我们的数据库引擎成功捕捉到了,使用CHECK约束执行业务规则(2),INSERT INTO DBO.EMPLOYEE (FIRSTNAME, LASTNAME, SALARY)SELECT 'GEORGE', &

使用CHECK约束执行业务规则

图一

尝试把值插入到SALARY字段超出了我们定义的范围,这也被我们的数据库引擎成功捕捉到了。

INSERT INTO DBO.EMPLOYEE (FIRSTNAME, LASTNAME, SALARY)

SELECT 'GEORGE', 'WASHINGTON', 110000

GO

使用CHECK约束执行业务规则

图二

到目前为止这些都进展得很顺利。但是,这里还有另外一个公司规则需要我们来执行。我们公司的管理人员可以赚取任何奖金比例但是他们是唯一被允许赚取他们工资5%或者更高比例奖金的员工。非管理人员只能赚取低于5%的任何比例奖金。让我们来试着通过一个表级别的CHECK约束来执行这个公司规则:

   ALTER TABLE DBO.EMPLOYEE
  ADD CONSTRAINT CK_EMPLOYEE_BONUSPCT
  CHECK (IS_MANAGER = 1 AND BONUSPCT >= 5.00)
  GO
  INSERT INTO DBO.EMPLOYEE (FIRSTNAME, LASTNAME, IS_MANAGER, SALARY, BONUSPCT)
  SELECT 'GEORGE', 'WASHINGTON', 1, 100000, 5.00
  GO
  INSERT INTO DBO.EMPLOYEE (FIRSTNAME, LASTNAME, IS_MANAGER, SALARY, BONUSPCT)
  SELECT 'BEN', 'FRANKLIN', 0, 75000, 2.50
  GO

使用CHECK约束执行业务规则

图三

上一页  1 2 3 4  下一页

Tags:使用 CHECK 约束

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