- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
默认和规则Default and Rule 默 认 Default 默认也是一种数据库对象,它可以实现一种与默认值约束功能相似的数据完整性检测功能。 当程序使用INSERT语句插入数据时,它可以为数据库中的数据表提供默认数据。 对于一个具体的数据表来说,默认对象所执行的功能与默认值约束完全一样。但默认值约束是与一个数据表相联系的,其作用范围仅限于所在的数据表。而默认对象则是独立于数据表而创建的,只有将其应用于一个数据表时,才对所应用的数据起作用。 默 认 Default 默认值约束是在使用 CREATE TABLE 或 ALTER TABLE 语句定义数据表时定义,它与表定义存储在一起。所以在删除数据表时,默认值约束也被自动删除。 而默认对象则需要使用 DEFAULT 语句定义,它作为一种数据库对象而独立存在。默认对象可以被多次应用不同的数据表,不同的列或用户定义数据类型。即使被其作用的数据被删除,也不能删除默认对象,而需要使用专门的语句来删除。 使用企业管理器创建默认对象 展开需要创建默认对象的数据库; 右键单击“DEFAULT”; 选择“New Default”菜单; 在“Default Properties”对话框的“Name”中输入默认对象的名称,在“Value”中输入默认值; 单击“确定”。 使用T-SQL语句创建默认对象 格式为:CREATE DEFAULT 默认值名 AS 常数表达式 默认值名称必须符合标识符的规则。 常数表达式是指只包含常量值的表达式(不能包含任何列或其他数据库对象的名称)。可以使用任何常量、内置函数或数学表达式。字符和日期常量用单引号()引起来;货币、整数和浮点常量不需要使用引号。二进制数据必须以 0x 开头,货币数据必须以美元符号($)开头。默认值必须与列数据类型兼容。 【例】创建字符默认值 ‘男’。 use student go create default ssex as 男 go CREATE DEFAULT 语句只能在当前数据库中创建默认。对每个用户来说,在同一个数据库中创建的默认值的名称必须保持惟一。 应用默认对象(企业管理器) 展开需要创建默认对象的数据库; 在对象上右键单击“属性”; 单击“Default Properties”对话框的“Bind Columns”按钮; 单击“Bind Default to Columns”对话框的“Table”下拉按钮,选择数据表; 在“Unbound columns”栏中选择需要绑定的列; 单击“Add”按钮; 单击“确定”。 应用默认对象(T-SQL语句) 使用sp_bindefault将默认值绑定到列或用户定义的数据类型。 语法格式为: sp_bindefault [ @defname = ] 默认值名 , [ @objname = ] 对象名 [ , [ @futureonly = ] futureonly_flag ] 参数[@defname =] default是由CREATE DEFAULT 语句创建的默认名称。 应用默认对象(T-SQL语句) 对象名是指要绑定默认值的表和列名称或用户定义的数据类型。 如果对象名没有采取table.column形式,则认为它属于用户定义数据类型。 默认情况下,用户定义数据类型的现有列继承default,除非默认值直接绑定到列中。 默认值无法绑定到timestamp数据类型的列、带IDENTITY属性的列或者已经有DEFAULT约束的列。 应用默认对象(T-SQL语句) futureonly_flag仅在将默认值绑定到用户定义的数据类型时才使用。 其值为NULL时,说明将表中该用户定义数据类型列的默认值设置为当前默认对象之值。 其值为futureonly时,说明当前所应用的默认对象不影响表中已存在的用户定义数据类型列的默认值,而只对以后插入行产生影响。 【例】将默认值绑定到列。 假定已经用CREATE DEFAULT语句在当前数据库中定义了名为Chengji的默认值,此示例将默认值绑定到 SC表的Grade列。当将行添加到SC 表而且没有提供Grade列的数据时,列取得默认值 Chengji的值。 exec sp_bindefault Chengji, SC.Grade go 【例】将默认值绑定到用户定义的数据类型。 假定存在名为def_ssn的默认值和名为ssn的用户定义数据类型,此例将默认值def_ssn绑定到用户定义的数据类型 ssn中。在创建表时,所有指派了用户定义数据类型ssn的列都将继承默认值。类型ssn的现有列也继承默认值 def_ssn,除非为futureonly_flag值指定了futureonly,或者在
文档评论(0)