SQL_用户自定义的数据类型、规则、默认
数据库应用技术——SQLServer2008篇第3版习题答案作者延霞徐守祥习题参考答案

第一章:1、订单管理系统的功能有哪些?答:订单管理系统的功能主要有客户查询商品信息、客户预订商品并提交订单、销售人员处理客户的订单信息、销售人员管理商品信息、客户信息等。
2、说明ER模型的作用?答:ER模型(实体关系模型)是描述概念世界,建立概念世界的工具,ER方法把管理系统所要描述的问题划分为单个的实体,通过实体间的联系实现有效、自然地模拟现实世界。
3、什么是关系模型?关系的完整性包括哪些内容?答:关系模型就是用二维表格结构来表示实体及实体之间联系的模型,关系模型包括四类完整性:域完整性、实体完整性、参照完整性和用户定义的完整性。
4、按照功能,SQL语言分为哪4部分?答:按照功能,SQL语言分为数据定义语言、查询语言、数据操纵语言、数据控制语言。
5、规范化范式是依据什么来划分的?它与一事一地的原则有什么联系?答:规范化范式根据一个关系满足数据依赖的程度不同,可规范化为第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。
规范化范式遵循一事一地的原则,将描述一个独立事物的属性组成一个关系。
第二章:1、SQL Server2008有哪些新增特性?答:见教材17页2、SQL Server2008安装的软件和硬件环境是什么?答:参见教材表2-3、2-4、2-5、2-6。
3、SQL Server2008有哪些版本?有哪些服务组件?答:Microsoft SQL Server2008系统提供了多个不同的版本,不同的应用需求,往往需要安装不同的版本。
既有32位的版本,也有64位的版本,既有正式使用的服务器版本,也有满足特殊需要的专业版本。
其中,服务器版本包括了企业版和标准版,专业版本主要包括开发人员版、工作组版、Web版、Express版、Compact版等。
另外,还有企业评估版。
服务组件主要有SQL Server数据库引擎、Analysis Services、Reporting Services、Notification Services、Integration Services等。
VFP填空题+答案

1.在VFP的默认状态下,表以________方式打开。
答案:独占2.如果USED("XS")返回为T,则说明________。
答案:文件已打开3.要实现对JS表所有记录的工龄(GL)增加1,其UPDATE-SQL命令为________。
答案:UPDATE JS SET GL=GL+14.在REPLACE命令中,保留字________仅对备注型字段有效,使用时表示替换的内容追加到原备注中,否则替换原备注内容。
答案:ADDITIVE5.请写出删除JS表中基本工资(GZ)在400元以下所有记录的DELETE-SQL命令________。
答案:DELETE FROM JS WHERE GZ<4006.如果要彻底删除当前工作区中打开表的所有记录,可以使用________命令。
答案:ZAP7.打开一个表时,________索引文件将自动打开,表关闭时它将自动关闭。
答案:结构复合索引8.数据库中的每一个表能建立________个主索引。
答案:19.除了自由表的字段名、表的索引名至多只有_____个字符以外,其余名称的长度可以达到100多个字符。
答案:1010.________是保存在数据库中的过程代码,由用户自定义的函数和在创建表之间的参照完整性规则时系统创建的函数组成。
答案:存储过程11.参照完整性的插入规则只有两个,________答案:删除和忽略12.学生表和成绩表已经建立了参照完整性,如果删除学生表中的记录,该学生的所有成绩记录也自动全部删除,则两表之间的参照完整性设置为___________。
答案:删除级联13.要设置当前数据库中js 表的gh字段的标题属性,可以dbsetprop(”_______”,”field”,”caption”,”工号”)答案:js.gh14.要获取当前数据库中xs表的xb字段的默认值,可以dbgetprop(”xs.xb”,”field”,”__________”)答案:defaultvalue15.对于已打开的多个索引,每次只有一个索引对表起作用,这个索引称为________。
sqlServer填空题

1 、关系 R 是 1NF ,当且仅当所有的基础域仅包含________ 。
2、主关键字应该具有 ________ 性 ,__________性 ,__________ 性。
3、关系 R 是 3NF ,当且仅当 R 是 2NF ,并且所有非 PK 属性都是 __________ 于 PK 。
4、Transact-SQL 语言包含 _________ 语言, _________ 语言, _________ 语言。
5、消除列重复的关键字是_________ ,使用 _________ 操作符从多个查询中创建单结果集,提交一个事务的语句为________ 。
6、SQLServer 的两种授权模式分别为___________ 和 _____________。
7、有一个数据表其一行有5KB ,有10000 行数据,那么我们至少需要______M 的数据库空间。
8、数据完整性分为 __________,__________,__________.9、每个允许有 _______ 个簇索引 ,___________索引是 SQLServer 默认选择。
10 、可以使用 ________ 关键字显示未加密存储过程信息 ,执行存储过程的关键字是_________ ,统计列平均值的聚合函数为 ________, 修改对象的关键字为 _______ ,删除对象的关键字为 _________ 。
11 、________ 数据库保存所有的临时表和临时存储过程。
答案:1、原子值2、稳定性,最简性,熟悉性3、非传递地依赖4、数据定义,数据控制,数据操纵5、distinct , UNION , COMMIT TRANSACTION6、NT only 验证模式,混合模式7、808、域完整性,实体完整性,参考完整性9、一,非簇10、 sp_help , EXEC , AVG, ALTER , DROP11、tempdb第二组16.概念模型是按 __________的观点对数据建模,强调其语义表达能力。
MSSQL Server DB(判断题)

四、判断题(每题1分)1. '在那遥远的地方' 是SQL中的字符串常量吗?(第6章第1节,知识点:常量,难度:易)Y2. '11.9' 是SQL中的实型常量吗?(第6章第1节,知识点:常量,难度:易)3. select 16%4, 的执行结果是: 4 吗?(第6章第1节,知识点:运算符,难度:易)4. 2005.11.09 是SQL中的日期型常量吗?(第6章第1节,知识点:常量,难度:易)5. ¥2005.89 是SQL中的货币型常量吗?(第6章第1节,知识点:常量,难度:易)6. select 25/2 的执行结果是: 12.5 吗?(第6章第1节,知识点:运算符,难度:易)7. '岳飞'>'文天祥' 比较运算的结果为真吗?(第6章第1节,知识点:运算符,难度:易)Y8. 一个表可以创建多个主键吗?(第7章第2节,知识点:约束,难度:易)9. 创建唯一性索引的列可以有一些重复的值?(第5章第2节,知识点:索引,难度:易)10. 固定数据库角色:db_datarader 的成员能修改本数据库内表中的数据吗?(第8章第4节,知识点:数据库角色,难度:中)11. '李逵'>'李鬼' 比较运算的结果为真吗?(第6章第1节,知识点:运算符,难度:易)Y12. smallint 是SQL的数据类型吗?(第3章第1节,知识点:数据类型,难度:易)Y13. SQL Server不允许字段名为汉字?(第3章第1节,知识点:数据类型,难度:易)14. 职称 in ('教授', '副教授'')与职称 = '教授' or 职称 = '副教授' 等价吗?(第6章第1节,知识点:运算符,难度:中)Y15. 如果规则当前绑定到某列或用户定义的数据类型,不能解除绑定能直接删除规则?(第7章第2节,知识点:规则,难度:中)16. 在表中创建一个标识列(IDENTITY),当用户向表中插入新的数据行时,系统自动为该行标识列赋值吗?(第3章第1节,知识点:标识列,难度:中)Y 17. 语句 select 15/2 的执行结果是: 7.5 吗?(第6章第1节,知识点:运算符,难度:易)18. '李白'>'杜甫' 比较运算的结果为真吗?(第6章第1节,知识点:运算符,难度:易)Y19. 在事务中包含create database语句吗?(第10章第1节,知识点:事务,难度:易)20. 连接、选择和投影三种关系运算具有相同的结果。
数据库T-SQL语言操作(T-SQL语句、数据库、表、视图、索引)

数据库T-SQL语⾔操作(T-SQL语句、数据库、表、视图、索引)T-SQL语⾔按⽤途分四部分1. 数据定义语⾔(CREATE,DROP,ALTER)2. 数据操作语⾔(INSERT,DELETE,UPDATE)3. 数据查询语⾔(SELECT)4. 数据控制语⾔(GRANT,REVOKE,DENY)数据类型1. 系统数据类型2. ⽤户⾃定义数据类型(建⽴⽅式:a.图形化⽅式 b.命令⽅式)1use TEST2EXEC sp_addtype sno,'varchar(10)','nonull'3EXEC sp_droptype sno变量命名规则:字母、下划线、@或#开头,但不能全为下划线、@或#不能为“关键字”,不能嵌⼊空格及其他特殊字符,如需使⽤则需要双引号或⽅括号括起1.局部变量:由⽤户声明,必须以@开头,只在定义该变量的过程中有效,局部变量必须先声明后使⽤注意:第⼀次声明变量时,其值设置为NULL。
局部变量不能使⽤“变量=变量值”的格式进⾏初始化,必须使⽤SELECT或SET语句来设置其初始值。
如果声明字符型的局部变量,⼀定要在变量类型中指明其最⼤长度,否则系统默认其长度为1。
若要声明多个局部变量,请在定义的第⼀个局部变量后使⽤⼀个逗号,然后指定下⼀个局部变量名称和数据类型。
1USE student2DECLARE@var1char(10),@var2int3SET@var1='number'4select@var2=cgrade5from sc6where sno='201810010'78print@var1+"s"2.全局变量:由系统定义,供SQL server系统内部使⽤的变量,任何程序任何时间都可以调⽤。
通常以“@@”开头。
T-SQL语句1.注释语句(1) --(2) /*……*/2.批处理--GO3.控制流程语句(1) begin...end语句(相当于C语⾔中的{} )(2) if...else语句(可嵌套)(3)case语句(多条件选择语句)(4)print语句(屏幕输出语句)(5)while语句(有条件的循环语句)(6)goto语句(⽆条件跳转语句)(7)break语句(8)continue语句4.常⽤函数(系统函数、⽤户⾃定义函数)⼀些系统函数:(1)字符串函数(2)数学函数(3)⽇期和时间函数(4)聚合函数注意:⽤户⾃定义函数:1.分类:标量值函数:返回单个值内联表值函数:返回可更新的表多语句表值函数:返回不可更新的表2.标量值函数命令⽅式创建1CREATE FUNCTION f2(@a real,@b real) 2RETURNS real3AS4BEGIN5IF@a>=@b6RETURN@a7RETURN@b8END910PRINT'最⼤值为'11PRINT dbo.f2(77,56)1CREATE FUNCTION f3(@n real)2RETURNS real3AS4BEGIN5DECLARE@i real,@sum real6SET@i=07SET@sum=08WHILE@i<@n9BEGIN10SET@i=@i+111SET@sum=@sum+@i12END13RETURN@sum14END1516PRINT dbo.f3(10)3.⾃定义函数的调⽤(1)标量值函数可以使⽤select、print、exec调⽤(2)表值函数只能⽤select调⽤4.删除⽅式drop function 函数名数据库数据库概述1.数据库常⽤对象:表、数据类型、视图、索引、存储过程、触发器系统数据库:master、model、tempdb、msdb2.数据库存储结构(数据库⽂件、数据库⽂件组):数据库⽂件:存放数据库数据和数据库对象的⽂件。
sql server 默认值约束语句

一、什么是默认值约束SQL Server中的默认值约束是用来定义数据列中默认值的规则。
默认值约束可以确保在插入新记录时,如果没有为指定的列提供值,将自动使用默认值。
默认值约束可以应用于各种数据类型的列,包括数字、字符和日期等。
默认值约束可以在创建表时进行定义,也可以在已有的表中进行添加和修改。
二、使用默认值约束的优点1. 提高数据填充的效率:默认值约束可以减少在插入新记录时需要手动输入的字段值,极大地提高了数据的填充效率。
2. 保证数据的一致性:通过为某些字段设置默认值,在没有指定具体数值时,可以确保字段的值符合一定的规则,避免了因数据缺失导致的数据一致性问题。
三、默认值约束语句的语法在SQL Server中,创建默认值约束的语法如下:```sqlALTER TABLE table_nameADD CONSTR本人NT constr本人nt_name DEFAULTdefault_value FOR column_name;```其中,table_name是指定要添加约束的表的名称,constr本人nt_name是默认值约束的名称,column_name是要应用默认值约束的列的名称,default_value是指定的默认值。
四、默认值约束的示例假设我们有一个名为“employees”的表,其中包括id、name和age三个字段,现在我们想为age字段添加一个默认值约束,让其默认值为30,可以使用以下SQL语句:```sqlALTER TABLE employeesADD CONSTR本人NT DF_age DEFAULT 30 FOR age;```通过以上语句,我们成功为表“employees”的字段“age”添加了一个默认值为30的约束。
五、默认值约束的修改和删除1. 修改默认值约束:如果需要修改已有的默认值约束,可以使用以下语句:```sqlALTER TABLE table_nameALTER CONSTR本人NT constr本人nt_name DEFAULTnew_default_value;```2. 删除默认值约束:如果需要删除已有的默认值约束,可以使用以下语句:```sqlALTER TABLE table_nameDROP CONSTR本人NT constr本人nt_name;```六、注意事项1. 默认值约束的名称必须在表内是唯一的,不能重复。
SQL数据库管理指南

Microsoft SQL Server2000 数据库管理指南北京龙软科技发展有限公司2005年3月目录1.数据库概述 (2)1.1数据库管理员的职责 (2)1.2数据库管理员的具体工作 (2)2.SQL SERVER概述 (2)2.1操作系统支持 (2)2.2SQL SERVER与操作系统的集成 (3)2.2.1与操作系统任务条的集成 (3)2.2.2与控制面板的集成: (3)2.2.3与事件浏览器的集成 (4)2.2.4系统注册表 (5)2.2.5 系统用户帐户 (5)2.3可视化管理工具 (5)2.3.1 SQL SERVER 服务管理器 (5)2.3.2 SQL SERVER 企业管理器 (6)2.4常用的SQL SERVER对象 (6)3.SQL SERVER安装及升级 (7)3.1SQL S ERVER 2000的硬件和软件安装要求 (7)3.2SQL S ERVER 2000的操作系统要求 (7)3.3I NTERNET 要求 (8)3.4设置W INDOWS 服务帐户 (9)3.5SQL S ERVER 2000的文件路径 (9)3.6安装SQL S ERVER 2000 (10)3.6.1运行安装程序 (10)3.6.2选择安装选项 (11)3.6.3选择安装方法 (12)3.6.4选择类型 (13)3.6.5用户信息 (13)3.6.6许可证协议 (14)3.6.7选择安装类型 (14)3.6.8指定实例名称 (15)3.6.9指定安装类型和安装位置 (15)3.6.10选择需要安装的组件 (16)3.6.11服务帐户 (16)3.6.12身份验证模式 (17)3.6.13开始复制文件 (18)3.6.13许可模式 (18)4.SQL SERVER配置和管理 (20)4.1对服务器进行注册 (20)4.2使用企业管理器的一般任务 (23)4.2.1 对服务器进行配置 (23)4.2.2 管理登录 (23)4.2.4 管理数据库 (24)4.2.5 管理登录 (24)5.管理数据库 (25)5.1数据库基本操作 (25)5.1.1 创建数据库 (25)5.1.2 设置数据库选择项 (28)5.1.3 对数据库和日志进行扩充 (29)5.1.4 对数据库和日志进行压缩 (31)5.1.5 删除数据库 (32)5.1.6 移动数据库文件 (32)5.2数据库备份和恢复 (33)5.2.1 实现数据库、事务日志、差异和文件组备份 (33)5.2.4 实现数据库恢复 (36)1.数据库概述1.1数据库管理员的职责数据库管理员的职责就是负责维护SQL SERVER的运行。
SQL Server 2000数据库技术(填空题)

SQL Server 2000数据库技术(填空题)1、关系数据库中可命名的最小数据单位是(属性名)。
2、若事务在运行过程中,由于种种原因,使事务未运行到正常终止点之前就被撤消,这种情况就称为(事务故障)。
3、SQL语句中修改表结构的命令是(ALTER TABLE)。
4、关系数据库管理系统能实现的专门关系运算包括选择、连接和(投影)。
5、操作中,我们要求某一操作要么都发生,要么都不发生。
这一特性称为(原子性)。
6、Microsoft公司在(1997)发布了SQL Server 7.0标准版,在(2000)年发布了SQL Server 2000,在(2005)年发布了SQL Server 2005。
(第1章第1节,知识点:SQL Server2000简介,难度:易)7、SQL Server 2000 的版本包括(标准版)、(企业版)、个人版、开发版、企业评估版和Windows CE版。
(第1章第1节,知识点:SQL Server2000基础,难度:易)8、二维表中每一列的所有数据在关系模型中称为(字段),二维表格中的每一行在关系模型称为(记录)。
(第1章第2节,知识点:数据模型,难度:中)9、SQL语言中用来建立数据库对象的命令动词是(CREATE),查询数据库中记录的命令动词是(SELECT)。
(第1章第3节,知识点:SQL 语言,难度:中)10、数据库系统具有数据的(外模式)、(模式)和内模式三级模式结构。
(第1章第2节,知识点:数据模型,难度:中)11、SQL Server 2000局部变量名字必须以(@)_开头,而全局变量名字必须以(@@)_开头。
(第6章第1节,知识点:变量,难度:易)12、语句select ascii('D'), char(67) 的执行结果是:(68)和(C)。
(第6章第1节,知识点:函数,难度:中)13、语句select lower('Beautiful') , rtrim('我心中的太阳') 的执行结果是:(beautiful、)和(我心中的太阳)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用户自定义的数据类型、默认值、规则
一、用户自定义的数据类型
用户自定义数据类型可看做是系统数据类型的别名。
在多表操作的情况下,当多个表中的列要存储相同类型的数据时,往往要确保这些列具有完全相同的数据类型、长度和为空性(数据类型是否允许为空)。
例如,对于student数据库中表student、grade和course三张表的xh,kh两个列必须具有相同的数据类型。
创建用户自定义数据类型时首先应考虑如下三个属性:
(1)数据类型名称
(2)新数据类型所依据的系统数据类型(又称为基类型)
(3)为空性
如果为空性未明确定义,系统将依据数据库或连接的ANSI NULL 默认设置进行指派。
1、创建用户自定义数据类型的方法如下:
(1)利用企业管理器定义
(2)利用SQL命令定义数据类型
在SQL Server中,通过系统存储过程实现用户数据类型的定义。
语法格式如下:
sp_addtype [@typename=] type, /*自定义类型名称*/
[@phystype=] system_data_type /*基类型*/
[,[@nulltype=] null_type /*为空性*/
[,[@owner=] owner_name] /*创建者或所有者*/ 其中:
type:用户自定义数据类型的名称。
System_data_type:用户自定义数据类型所依据的基类型。
如果参数中嵌入有空格或标点符号,则必须用引号将该参数引起来。
null_type:指明用户自定义数据类型处理空值的方式。
取值可为’NULL’、’NOT NULL’、’NONULL’三者之一(注意:必须用单引号引起来)。
如果没有用sp_addtype显式定义null_type,则将其设置为当前默认值,系统默认值一般为’NULL’。
例:定义学号字段的数据类型
sp_addtype ’student_xh’,’char(4)’,’not null’
2、删除用户自定义数据类型
(1)利用企业管理器
(2)利用SQL语句
语法格式如下:
sp_droptype [@typename=] type
其中type为用户自定义数据类型的名称,应用单引号括起来。
例:删除student_xh用户自定义数据类型
sp_droptype ’student_xh’
说明:
(1)如果在表定义内使用某个用户定义的数据类型,或者将
某个规则或默认值绑定到这种数据类型,则不能删除该类型。
(2)要删除一用户自定义类型,该数据类型必须存在,否则返回一条错误信息。
3、执行权限
执行权限默认授予sysadmin固定服务器角色、db_ddladmin和db_owner固定数据库角色成员以及数据类型所有者。
4、利用自定义数据类型定义字段
用户自定义数据类型与基类型一样使用,可定义为字段的数据类型。
二、默认值对象的定义、使用与删除
默认值对象的定义、使用与删除既可利用企业管理器实现,也可利用SQL语句实现。
1、通过企业管理器定义和绑定DEFAULT默认值对象
2、通过SQL语句定义和绑定DEFAULT默认值对象
(1)通过SQL语句定义DEFAULT默认值对象
命令格式如下:
CREATE DEFAULT 默认值名称 AS 常量表达式
常量表达式可以含有常量、内置函数、字符和日期常量用单引号引起来;货币、整数和浮点常量不需要使用引号。
十六进制数据必须以0x开头,货币数据必须以美元符号($)开头。
默认值对象必须
与列数据类型兼容。
例:定义学分默认值
CREATE DEFAULT COURSE_XF AS 0
(2)通过系统存储过程绑定DEFAULT默认值对象
创建默认值对象后,要使其作用,应使用sp_bindefault存储过程将其绑定到列或用户自定义数据类型。
语法格式如下:
sp_bindefault [@defname=]’默认值对象名’,
[@objname=]’被绑定对象的名称’
[,[@futureonly=]’futureonly_flag’]
其中参数futureonly_flag仅在将默认值对象绑定到用户定义数据类型时才使用,当futureonly_flag的值为futureonly时,表示在此之前该数据类型关联的列不继承该默认值对象的值。
例:
sp_bindefault ‘cousr_xf’,’course.xf’
3、删除默认值对象
如果要删除一个默认值对象,首先应解除默认值对象与用户定义类型及表字段的绑定关系,然后才能删除该默认值对象。
(1)利用sp_unbindefault解除绑定关系
语法格式如下:
sp_unbindefault [@objname=]’被绑定对象名’
[,[@futureonly=]’futureonly_flag’]
(2)删除默认值对象
解除默认值对象与用户定义类型及表字段的绑定关系后,即可用DROP语句删除默认值对象。
语法格式如下:
DROP DEFAULT 默认值对象名
三、规则对象的定义、使用与删除
规则对象的使用方法与默认值对象的使用步骤类似:
(1)定义规则对象
(2)将规则对象绑定到列或用户自定义类型
规则对象的定义可利用企业管理器定义,也可利用SQL语句定义。
1、利用企业管理器定义规则对象并绑定到自定义类型或列
2、利用SQL语句定义规则对象并绑定到自定义类型或列
(1)定义规则对象,语法格式如下:
CREATE RULE 规则名 AS 条件表达式
其中:条件表达式不能包含列或其他数据库对象,可以包含不引用数据库对象的内置函数,在条件表达中包含一个局部变量,局部变量的前面都有一个@符号,使用UPDATE或INSERT语句修改或插入值时,该表达式用于对规则关联的列值进行约束,创建规则时,局部
变量代表了UPDATE或INSERT语句输入的值。
另外有如下几点说明:
(1)创建的规则对先前已存在于数据库中的数据无效。
(2)单个批处理中,CREATE RULE语句不能与其他T-SQL语句组合使用。
(3)规则表达式的类型必须与列的数据类型兼容,不能将规则绑定到text、image、或timestamp列。
要用单引号将字符和日期常量引起来,在十六进制常量前加0x。
(4)对于用户定义数据类型,当在该类型的数据列中插入值,或更新该类型的数据列时,绑定到该类型的规则才会激活。
规则不检查变量,所以在向用户定义数据类型的变量赋值时,不能与列绑定的规则冲突。
(5)如果列同时有默认值和规则与之关联,则默认值必须满足规则的定义,与规则冲突的默认值不能插入到列。
3、将规则对象绑定到自定义类型或列
语法格式如下:
sp_bindrule [@rulename=] ‘规则对象名’
[@objname=]’被绑定的对象名’
[,[@futureonly=] ’futureonly_flag’]
其中:“被绑定对象名”为绑定到规则的列或用户定义数据类型,如果采用“表.字段名”格式,则认为绑定到表的列,否则绑定到用户定义数据类型;参数futureonly_flag仅当将规则绑定到用户定义
数据类型时才使用,如果futureonly_flag设置为futureonly,用户定义数据类型的现有列不继承新规则。
如果futureonly_flag为NULL,当被绑定的数据类型当前无规则时,新规则将绑定到用户定义数据类型的每一列。
例:创建课程的规则,并绑定到KH字段。
CREATE RULE KH_RULE AS @range like ’K[0-9[0-9]’Sp_bindrule ‘kh_rule’,’course.kh’
例:创建“课程号”用户定义数据类型,并规则kh_rule绑定到用户定义类型上。
Sp_addtype ‘course_kh’,’char(3)’,’not null’
Sp_bindrule ‘kh_rule’,’course_kh’
4、规则对象的删除
删除规则对象前,首先应使用系统存储过程sp_unbindrule解除被绑定对象与规则对象之间的绑定关系。
格式如下:
sp_unbindrule [@objname=] ‘被绑定对象名’
[,[@futureonly=] ’futureonly_flag’]
其中:参数futureonly_flag仅用于解除用户定义数据类型规则的绑定,如果futureonly_flag设置为futureonly,规则仍然对现有的属于该数据类型的列有效。
在解除列或自定义数据类型与规则对象之间的绑定关系后,就可以删除规则对象了。
删除规则对象的SQL语句的语法格式如下:
DROP RULE 规则对象名
例:解除课程号列与kh_rule之间的绑定关系,并删除规则对象kh_rule。
USE STUDENT
IF EXISTS(SELECT NAME FROM sysobjects
WHERE name=’kh_rule’AND type=’R’)
BEGIN
EXEC sp_u nbindrule ‘course.kh’
DROP RULE kh_rule
END
GO。