SQLServer技术(57)

来源:互联网 发布:图片编辑文字软件 编辑:程序博客网 时间:2024/05/16 02:11
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
    缺省值(Default)是往用户输入记录时没有指定具体数据的列中自动插入的数据。缺省值对象与ALTERTABLE或CREATETABLE命令操作表时用DEFAULT选项指定的缺省值功能相似,但缺省值对象可以用于多个列或用户自定义数据类型,它的管理与应用同规则有许多相似之处。表的一列或一个用户自定义数据类型也只能与一个缺省值相绑定。

9.3.1创建缺省值
(1)用CREATEDEFAULT命令创建缺省值
CREATEDEFAULT命令用于在当前数据库中创建缺省值对象,其语法如下:
CREATEDEFAULTdefault_nameASconstant_expression
其中constant_expression子句是缺省值的定义。constant_expression子句可以是数学表达式或函数,也可以包含表的列名或其它数据库对象。

例9-11:创建生日缺省值birthday_defa。
createdefaultbirthday_defa
as'1978-1-1'
例9-12:创建姓名缺省值name_defa。
createdefaultname_defa
asuser

(2)用EnterpriseManager创建缺省值
在EnterpriseManager中选择数据库对象“Defaults”,单击右键,从快捷菜单中选择N“ewDefault”选项,即会弹出如图9-6所示的创建缺省值属性对话框。输入缺省值名称和值表达式之后,单击“确定”按钮,即完成缺省值的创建。

9.3.2查看缺省值
(1)用EnterpriseManager查看缺省值
在EnterpriseManager中选择“Defaults”对象,即可从右边的任务板中看到缺省值的大部分信息。如图9-7所示。也可以选择要查看的缺省值,单击右键,从快捷菜单中选择“Properties”选项,即会出现如图9-8所示的缺省值属性对话框,可以从中编辑缺省值的
值表达式。修改缺省值名称的方法与修改规则名称的方法相同,可以用Sp_rename存储过程修改,也可以在企业管理器的任务板窗口中直接修改。



(2)用存储过程Sp_helptext查看缺省值
使用Sp_helptext存储过程可以查看缺省值的细节。
例9-13:查看缺省值today。
execsp_helptexttoday

运行结果如下:
------------------------------------------------------------------
Text
------------------------------------------------------------------
createdefault[dp_date]asgetdate()

9.3.3缺省值的绑定与松绑
创建缺省值后,缺省值仅仅只是一个存在于数据库中的对象,并未发生作用。同规则一样,需要将缺省值与数据库表或用户自定义对象绑定。
(1)用EnterpriseManager管理缺省值的绑定
在EnterpriseManager中,选择要进行绑定设置的缺省值,单击右键,从快捷菜单中选择“Properties”选项,即会出现如图9-8所示的缺省值属性对话框。

图9-8中的“BindUDTs…”按钮用于绑定用户自定义数据类型,“BindColumns…”按钮用于绑定表的列。在图9-8中单击“BindUDTs…”按钮,则出现如图9-9所示的绑定缺省值到用户自定义数据类型的对话框;单击“BindColumns…”按钮,则出现如图9-
10所示的绑定缺省值到表的列的对话框。用它们来管理缺省值与表的列以及用户自定义数据类型之间的绑定非常方便。


(2)用存储过程Sp_bindefault绑定缺省值
存储过程Sp_bindefault可以绑定一个缺省值到表的一个列或一个用户自定义数据类型上。其语法如下:
sp_bindefault[@defname=]'default',
[@objname=]'object_name'
[,'futureonly']
其中'futureonly'选项仅在绑定缺省值到用户自定义数据类型上时才可以使用。当指定此选项时,仅以后使用此用户自定义数据类型的列会应用新缺省值,而当前已经使用此数据类型的列则不受影响。
例9-14:绑定缺省值today到用户自定义数据类型hire_date上。
execsp_bindefaulttoday,hire_date
运行结果如下:
---------------------------------------------------------
Defaultboundtodatatype.
Thenewdefaulthasbeenboundtocolumns(s)ofthespecifieduserdatatype.

1
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击