- 1、本文档共50页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7.2.2 创建域完整性:CHECK/CREATE RULE 【例7.11】 在pxscj数据库中创建一个表xsb1,其结构与xsb表相同。但要求:出生时间必须大于1994年1月1日。 USE pxscj GO CREATE TABLE xsb1 ( 学号 char(6) NOT NULL PRIMARY KEY, 姓名 char(8) NOT NULL, 性别 bit NULL DEFAULT 1, 出生时间 date NULL CHECK(出生时间1994-01-01), 专业 char(12) NULL DEFAULT 计算机, 总学分 int NULL DEFAULT 0, 备注 varchar(500) NULL, CONSTRAINT cxh_zy CHECK(left(学号,2)=19 and 专业=计算机 or left(学号,2)=22 and 专业=通信工程) ) GO 7.2.2 创建域完整性:CHECK/CREATE RULE 定义后,在xsb1表中输入学号“220001”中的“22”与“计算机专业”不一致会显示错误信息,如图7.6所示。 7.2.2 创建域完整性:CHECK/CREATE RULE 3)以命令方式在修改表时创建CHECK约束。 在使用ALTER TABLE语句修改表时也能定义CHECK约束。 定义CHECK约束的语法格式为: ALTER TABLE 表名 [ WITH { CHECK | NOCHECK } ] ADD [列定义] [CONSTRAINT 约束名] CHECK (逻辑表达式) 【例7.12】 通过修改pxscj数据库的cjb表,增加“成绩”字段的CHECK约束。 USE pxscj GO ALTER TABLE cjb ADD CONSTRAINT cj_constraint CHECK ?(成绩=0 AND 成绩=100) 7.2.2 创建域完整性:CHECK/CREATE RULE 4)利用SQL语句删除CHECK约束 语法格式: ALTER TABLE 表名 DROP CONSTRAINT 约束名 【例7.12续】 删除cjb表“成绩”字段的CHECK约束。 ALTER TABLE cjb DROP CONSTRAINT cj_constraint 7.2.2 创建域完整性:CHECK/CREATE RULE 2.规则对象的定义、使用与删除 (1)规则对象的定义。 语法格式: CREATE RULE [ 架构名. ] 规则名 AS 条件表达式 (2)将规则对象绑定到用户定义数据类型或列。 将规则对象绑定到列或用户定义数据类型中可以使用系统存储过程sp_bindrule。 语法格式: sp_bindrule [ @rulename = ] 规则名 , [ @objname = ] 对象名 [ , [ @futureonly = ] futureonly标志 ] 7.2.2 创建域完整性:CHECK/CREATE RULE 【例7.13】 如下程序创建一个规则,并绑定到表kcb的课程号列,用于限制课程号的输入范围。 (1)创建规则T-SQL命令。 USE pxscj GO CREATE RULE kc_rule AS @range like [1-5][0-9][0-9] GO EXEC sp_bindrule kc_rule, kcb.课程号 /*执行存储过程使用EXEC命令*/ GO 程序如果正确执行,则提示:“已将规则绑定到表的列”。 7.2.2 创建域完整性:CHECK/CREATE RULE (2)在“对象资源管理器”中展开“pxscj”→“表”→“dbo.kcb”→“列”,右击“课程号”,选择“属性”菜单项,在kcb表的“列属性-课程号”窗口的“规则”栏中可以查看已经新建的规则。 【例7.14】 创建一个规则,用以限制输入到该规则所绑定的列中的值只能是该规则中列出的值。 CREATE RULE list_rule AS @list IN (C语言, 离散数学, 微机原理) GO EXEC sp_bindrule list_rule, kcb.课程名 GO 7.2.2 创建域完整性:CHECK/CREATE RULE 【例7.15】 如下程序定义一个用户数据类型course_num,然后将前面定义的规则“kc_rule”绑定到用户数据类型course_num上,最后创建表kcb1,其“课程号”的数据类型为cou
您可能关注的文档
- 第6章浇注系统及溢流排气.ppt
- 第6讲 不定方程解应用题.doc
- 第6章数据库的安全性.ppt
- 第6章机械装配工艺基础2.ppt
- 第6章 综合布线施工.ppt
- 第6章课堂教学中的提问技能.ppt
- 第6课 放飞生命的梦想.ppt
- 第6讲+组件通信与后台服务(三).ppt
- 第6课 中国古代的科学技术成就.ppt
- 第6课 隋唐的科学技术.ppt
- 2024-2025学年安徽省亳州市涡阳县高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年江西省赣州市上犹县高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二下学期开学考试政治试题(解析版).docx
- 2024-2025学年山西省卓越联盟高三下学期2月开学质量检测政治试题(解析版).docx
- 2024-2025学年新疆乌鲁木齐市高二下学期2月开学考试政治试题(解析版).docx
- 2024-2025学年新疆维吾尔自治区乌鲁木齐地区高三2月大联考文科综合政治试题(解析版).docx
- 2024-2025学年安徽省蚌埠市固镇县高一上学期1月期末考试政治试题 (解析版).docx
- 2024-2025学年江苏省扬州市高三上学期期末检测政治试卷(解析版).docx
- 2024-2025学年江西省吉安市高三上学期期末教学质量检测政治试题(解析版).docx
- 2024-2025学年山东省济宁市高二上学期1月期末考试政治试题(解析版).docx
文档评论(0)