仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 785|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL网页编程之数据库 缺省值

[复制链接]
活着的死人 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:19:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
有了rowbase的binlog后,我们来分析一下怎么实现闪回。平时的DML无非三种操作,增删改,先说三种操作的日志格式。缺省值(Default)是往用户输出纪录时没有指定详细数据的列中主动拔出的数据。缺省值工具与ALTERTABLE或CREATETABLE命令操纵表时用DEFAULT选项指定的缺省值功效类似,但缺省值工具能够用于多个列或用户自界说数据范例,它的办理与使用同划定规矩有很多类似的地方。表的一列或一个用户自界说数据范例也只能与一个缺省值相绑定。

9.3.1创立缺省值
(1)用CREATEDEFAULT命令创立缺省值
CREATEDEFAULT命令用于在以后数据库中创立缺省值工具,其语法以下:
CREATEDEFAULTdefault_nameASconstant_expression
个中constant_expression子句是缺省值的界说。constant_expression子句能够是数学表达式或函数,也能够包括表的列名或别的数据库工具。例9-11:创立诞辰缺省值birthday_defa。
createdefaultbirthday_defa
as1978-1-1
例9-12:创立姓名缺省值name_defa。
createdefaultname_defa
asuser
(2)用EnterpriseManager创立缺省值
在EnterpriseManager当选择数据库工具“Defaults”,单击右键,从快速菜单当选择N“ewDefault”选项,即会弹出如-6所示的创立缺省值属性对话框。输出缺省值称号和值表达式以后,单击“断定”按钮,即完成缺省值的创立。

9.3.2检察缺省值
(1)用EnterpriseManager检察缺省值
在EnterpriseManager当选择“Defaults”工具,便可从右侧的义务板中看到缺省值的年夜部分信息。如-7所示。也能够选择要检察的缺省值,单击右键,从快速菜单当选择“Properties”选项,即会呈现如-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”选项,即会呈现如-8所示的缺省值属性对话框。
-8中的“BindUDTs…”按钮用于绑定用户自界说数据范例,“BindColumns…”按钮用于绑定表的列。在-8中单击“BindUDTs…”按钮,则呈现如-9所示的绑定缺省值到用户自界说数据范例的对话框;单击“BindColumns…”按钮,则呈现如-
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.

(3)用存储历程Sp_unbindefault排除缺省值的绑定
存储历程Sp_unbindefault能够排除缺省值与表的列或用户自界说数据范例的绑定,其语法以下:
Sp_unbindefault[@objname=]object_name
[,futureonly]
个中futureonly选项同绑准时一样,仅用于用户自界说数据范例,它指定现有的用此用户自界说数据范例界说的列仍旧坚持与此缺省值的绑定。假如不指定此项,一切由此用户自界说数据范例界说的列也将随之排除与此缺省值的绑定。
例9-15:排除缺省值num_default与表products的quantity列的绑定。
execsp_unbindefault‘products.[quantity]’
运转了局以下:
---------------------------------------------------------
(1row(s)affected)
Defaultunboundfromtablecolumn.
注重:假如列同时绑定了一个划定规矩和一个缺省值、那末缺省值应当切合划定规矩的划定。
不克不及绑定缺省值到一个用CREATETABLE或ALTERTABLE命令创立或修正表时用DEFAULT选项指定了的缺省值的列上。
9.3.4删除缺省值
能够在EnterpriseManager当选择缺省值,单击右键,从快速菜单当选择“Delete”选项删除缺省值,也能够利用DROPDEFAULT命令删除以后数据库中的一个或多个缺省
值。其语法以下:
DROPDEFAULT{default_name}[,...n]
注重:在删除一个缺省值前必需先将与其绑定的工具排除绑定。

例9-16:删除诞辰缺省值birthday_defa。
dropdefaultbirthday_defa

本章小结
数据完全性工具的使用是SQLServer的一年夜特性,它经由过程在数据库端利用特定的划定来办理流进与输入体系的信息,而不是由使用程序自己来把持信息的范例,这使得数据自力与使用程序成为开放的数据库体系。
支持AIX、FreeBSD、HP-UX、Linux、MacOS、NovellNetware、OpenBSD、OS/2Wrap、Solaris、Windows等多种操作系统
乐观 该用户已被删除
沙发
发表于 2015-1-19 08:43:14 | 只看该作者
groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。
深爱那片海 该用户已被删除
板凳
发表于 2015-1-24 23:50:59 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
灵魂腐蚀 该用户已被删除
地板
发表于 2015-2-2 16:32:21 | 只看该作者
是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。
简单生活 该用户已被删除
5#
发表于 2015-2-8 02:17:13 | 只看该作者
从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。
小魔女 该用户已被删除
6#
发表于 2015-2-24 01:28:04 | 只看该作者
一个是把SQL语句写到客户端,可以使用DataSet进行加工;
海妖 该用户已被删除
7#
发表于 2015-3-7 10:28:27 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
老尸 该用户已被删除
8#
发表于 2015-3-15 00:05:17 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
因胸联盟 该用户已被删除
9#
发表于 2015-3-21 15:45:02 | 只看该作者
你觉得我的非分区索引无法对起子分区,你可以提醒我一下呀!没有任何的提醒,直接就变成了非分区表。不知道这算不算一个bug。大家也可以试试。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-22 23:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表