首页 理论教育 SQLServer2005数据库:设置默认对象属性

SQLServer2005数据库:设置默认对象属性

时间:2023-11-04 理论教育 版权反馈
【摘要】:2)展开“数据库”文件夹,然后展开要在其中建立默认对象的数据库。图2-91 “默认属性”对话框5)在“值”文本框中为该默认对象指定一个值,可以是常数、内置函数或表达式,但不能包含任何字段或其他数据库对象的名称。图2-95 将默认对象绑定到用户定义的数据类型上返回默认对象属性对话框以后,单击“确定”按钮,使绑定生效。例2-82 图2-96为在“学生管理数据库”中将一个名为CurrentDate的默认值绑定到“日期数据”这个用户定义的数据类型上。

SQLServer2005数据库:设置默认对象属性

为了有效地管理SQL Server数据库的信息,通常使用默认值、规则等来控制应用系统中的数据。默认值和规则都是数据库对象,它们的作用类似于信息预过滤器,将数据写入数据库之前SQL Server先校验规则及默认值,以避免某些数据项对数据库的控制操作造成影响。

1.建立默认对象

使用默认对象时,首先要在数据库中建立一个默认对象,然后将该对象绑定到特定的表字段。建立默认对象的任务可以用企业管理器或CREATE DEFAULT语句来完成。下面介绍这两种方法。

(1)使用企业管理器建立默认对象

使用企业管理器建立默认对象时,按照下面的步骤操作:

1)在企业管理器中展开服务器组,然后展开一个服务器。

2)展开“数据库”文件夹,然后展开要在其中建立默认对象的数据库。

3)右键单击“默认”节点,然后在弹出的快捷菜单中选择“新建默认”命令。

4)当出现如图2-91所示的“默认属性”对话框时,在“名称”文本框中为该默认对象输入一个名称。为默认对象指定名称时,必须符合标识符的规则,还可以选择是否指定默认对象所有者名称。

978-7-111-36808-3-Chapter02-205.jpg

图2-91 “默认属性”对话框

5)在“值”文本框中为该默认对象指定一个值,可以是常数、内置函数或表达式,但不能包含任何字段或其他数据库对象的名称。字符和日期常量用单引号括起来,货币、整数和浮点常量不需要使用引号。二进制数据必须以0x开头,货币数据必须以美元符号$开头。

6)单击“确定”按钮,关闭对话框。

至此,一个默认对象就被建立起来了,在详细信息窗格中可以查看到它的名称、所有者及创建时间等信息,如图2-92所示。

978-7-111-36808-3-Chapter02-206.jpg

图2-92 查看默认对象的有关信息

(2)使用CREATE DEFAULT语句建立默认对象

使用CREATE DEFAULT语句在当前数据库中建立一个默认对象,其语句的语法格式如下:

978-7-111-36808-3-Chapter02-207.jpg

其中默认对象名称必须符合标识符命名规则,可以选择是否指定默认对象的所有者名称。常量表达式是只包含常量值的表达式,可以使用任何常量、内置函数或数学表达式,但不能包含任何字段或其他数据库对象的名称。字符和日期常量用单引号括起来;货币、整数和浮点常量不需要使用引号。二进制数据必须以0x开头,货币数据必须以美元符号$开头。

例2-81 在“学生管理数据库”中建立一个名为CurrentDate默认对象并赋予系统当前日期作为其值,如图2-93所示。

978-7-111-36808-3-Chapter02-208.jpg

图2-93 建立和查看默认对象

2.绑定默认对象

在数据库中建立一个默认对象以后,还必须把该默认对象绑定到字段或用户定义数据类型上才能让它发挥作用。这个任务可以使用企业管理器或系统存储过程sp_bindefault来完成。

(1)使用企业管理器绑定默认对象

如果要在企业管理器中绑定默认对象,执行下面的操作步骤:

1)在企业管理器中展开服务器组,然后展开一个服务器。

2)展开“数据库”文件夹,然后展开目标数据库。

3)单击“默认”节点,然后在详细信息窗格中用右键单击默认对象名称并在弹出的快捷菜单中选择“属性”命令。

4)在如图2-91所示的“默认属性”对话框中执行下列操作之一:若要将该默认对象绑定到表字段上,单击“绑定列”按钮;若要将该默认对象绑定到用户定义的数据类型上(如此设置以后,默认对象对所有使用该数据类型的字段都起作用),单击“绑定UDT”按钮。(www.xing528.com)

5)将默认对象绑定到表字段时,从“表”下拉列表框中选择一个表,然后在“未绑定的列”列表中选择一个或多个要绑定的字段,再单击“添加”按钮,使所选字段进入“绑定列”列表中,然后单击“确定”按钮,如图2-94所示。

978-7-111-36808-3-Chapter02-209.jpg

图2-94 将默认对象绑定到表字段上

注意:不能把一个默认对象绑定到建立或修改表时已经定义了DEFAULT约束的字段上,否则单击“添加”按钮时会出现错误。另外,默认对象必须与要绑定的字段具有相同的数据类型,否则在执行INSERT语句时会出现错误。

将默认对象绑定到一个用户定义的数据类型时,选中与该用户定义的数据类型相对应的“绑定”列中的复选框并根据需要决定是否选中“仅将来”复选框,然后单击“确定”按钮,如图2-95所示。

978-7-111-36808-3-Chapter02-210.jpg

图2-95 将默认对象绑定到用户定义的数据类型上

返回默认对象属性对话框以后,单击“确定”按钮,使绑定生效。

(2)使用系统存储过程sp_bindefault绑定默认对象

可以使用存储系统sp_bindefault将一个默认对象绑定到表中的字段或用户定义的数据类型上,语法形式如下:

978-7-111-36808-3-Chapter02-211.jpg

其中默认值名称为由CREATE DEFAULT语句创建的默认值对象的名称,用户定义的数据类型名称为由企业管理器或系统存储过程sp_addtype创建的数据类型的名称,futureonly选项与图2-95中的“仅将来”复选框相对应,该选项仅用在默认值与自定义数据类型绑定的场合。如果使用“futureonly”选项,则指定的默认值仅对新定义的表字段有效,而对已存在的表字段不起作用。

例2-82 图2-96为在“学生管理数据库”中将一个名为CurrentDate的默认值绑定到“日期数据”这个用户定义的数据类型上。

978-7-111-36808-3-Chapter02-212.jpg

图2-96 将默认值绑定到用户定义的数据类型上

3.解除默认对象

绑定在表字段或用户定义的数据类型上的默认值可以使用系统存储过程sp_unbindefault来解除,语法格式分别为:

978-7-111-36808-3-Chapter02-213.jpg

例2-83 解除学生基本情况表的注册日期的默认对象。

978-7-111-36808-3-Chapter02-214.jpg

4.插图

从数据库中删除一个默认对象时,可以分为以下两种情况来处理:

1)如果该默认对象尚未绑定到表字段或用户定义的数据类型上,则可以使用DROP DE-FAULT语句来删除。

2)如果已经将该默认对象绑定到表字段中或用户定义的数据类型上,则必须首先使用系统存储过程sp_unbindefault解除该默认对象在表字段或用户定义的数据类型上的绑定,然后使用DROP DEFAULT语句删除该默认对象。

DROP DEFAULT语句用于从当前数据库删除一个或多个默认对象,其语法形式如下:

978-7-111-36808-3-Chapter02-215.jpg

例2-84 图2-97为从“学生管理数据库”中删除名为CurrentDate的默认对象。

978-7-111-36808-3-Chapter02-216.jpg

图2-97 删除名为CurrentDate的默认值

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈