13--默认和规则

13--默认和规则

ID:40781325

大小:258.00 KB

页数:39页

时间:2019-08-07

13--默认和规则_第1页
13--默认和规则_第2页
13--默认和规则_第3页
13--默认和规则_第4页
13--默认和规则_第5页
资源描述:

《13--默认和规则》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、默认和规则DefaultandRule默认Default默认也是一种数据库对象,它可以实现一种与默认值约束功能相似的数据完整性检测功能。当程序使用INSERT语句插入数据时,它可以为数据库中的数据表提供默认数据。对于一个具体的数据表来说,默认对象所执行的功能与默认值约束完全一样。但默认值约束是与一个数据表相联系的,其作用范围仅限于所在的数据表。而默认对象则是独立于数据表而创建的,只有将其应用于一个数据表时,才对所应用的数据起作用。默认Default默认值约束是在使用CREATETABLE或ALTERTABLE语句定义数据表时定义,它与表定义存储在一起。所以在删

2、除数据表时,默认值约束也被自动删除。而默认对象则需要使用DEFAULT语句定义,它作为一种数据库对象而独立存在。默认对象可以被多次应用不同的数据表,不同的列或用户定义数据类型。即使被其作用的数据被删除,也不能删除默认对象,而需要使用专门的语句来删除。使用企业管理器创建默认对象展开需要创建默认对象的数据库;右键单击“DEFAULT”;选择“NewDefault”菜单;在“DefaultProperties”对话框的“Name”中输入默认对象的名称,在“Value”中输入默认值;单击“确定”。使用T-SQL语句创建默认对象格式为:CREATEDEFAULT默认值名

3、AS常数表达式默认值名称必须符合标识符的规则。常数表达式是指只包含常量值的表达式(不能包含任何列或其他数据库对象的名称)。可以使用任何常量、内置函数或数学表达式。字符和日期常量用单引号(')引起来;货币、整数和浮点常量不需要使用引号。二进制数据必须以0x开头,货币数据必须以美元符号($)开头。默认值必须与列数据类型兼容。【例】创建字符默认值‘男’。usestudentgocreatedefaultssexas'男'goCREATEDEFAULT语句只能在当前数据库中创建默认。对每个用户来说,在同一个数据库中创建的默认值的名称必须保持惟一。应用默认对象(企业管理

4、器)展开需要创建默认对象的数据库;在对象上右键单击“属性”;单击“DefaultProperties”对话框的“BindColumns”按钮;单击“BindDefaulttoColumns”对话框的“Table”下拉按钮,选择数据表;在“Unboundcolumns”栏中选择需要绑定的列;单击“Add”按钮;单击“确定”。应用默认对象(T-SQL语句)使用sp_bindefault将默认值绑定到列或用户定义的数据类型。语法格式为:sp_bindefault[@defname=]'默认值名',[@objname=]'对象名'[,[@futureonly=]'fu

5、tureonly_flag']参数[@defname=]'default'是由CREATEDEFAULT语句创建的默认名称。应用默认对象(T-SQL语句)对象名是指要绑定默认值的表和列名称或用户定义的数据类型。如果对象名没有采取table.column形式,则认为它属于用户定义数据类型。默认情况下,用户定义数据类型的现有列继承default,除非默认值直接绑定到列中。默认值无法绑定到timestamp数据类型的列、带IDENTITY属性的列或者已经有DEFAULT约束的列。应用默认对象(T-SQL语句)futureonly_flag仅在将默认值绑定到用户定义的

6、数据类型时才使用。其值为NULL时,说明将表中该用户定义数据类型列的默认值设置为当前默认对象之值。其值为futureonly时,说明当前所应用的默认对象不影响表中已存在的用户定义数据类型列的默认值,而只对以后插入行产生影响。【例】将默认值绑定到列。假定已经用CREATEDEFAULT语句在当前数据库中定义了名为Chengji的默认值,此示例将默认值绑定到SC表的Grade列。当将行添加到SC表而且没有提供Grade列的数据时,列取得默认值Chengji的值。execsp_bindefault'Chengji','SC.Grade'go【例】将默认值绑定到用户定

7、义的数据类型。假定存在名为def_ssn的默认值和名为ssn的用户定义数据类型,此例将默认值def_ssn绑定到用户定义的数据类型ssn中。在创建表时,所有指派了用户定义数据类型ssn的列都将继承默认值。类型ssn的现有列也继承默认值def_ssn,除非为futureonly_flag值指定了futureonly,或者在列上直接绑定了默认值。绑定到列的默认值始终优先于绑定到数据类型的默认值。execsp_bindefault'def_ssn','ssn'go【例】使用futureonly_flag。此示例将默认值def_ssn绑定到用户定义的数据类型ssn。因

8、为已指定futureonly,所以不影

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。