使用特殊数据

2016-01-29 16:16 4 1 收藏

使用特殊数据,使用特殊数据

【 tulaoshi.com - SQLServer 】

  特殊数据类型是指那些不适合其它数据类型分类的数据类型。例如,若要将客户调查中"是"或"否"的值相应地用 1 或 0 进行存储,则可使用 bit 数据类型。Microsoft® SQL Server™ 2000 在该分类中有几个数据类型:

bit
bit 数据不必放在单引号中。它是与 SQL Server 的整型和数字数据相似的数字数据,但 bit 列只能存储 0 和 1。

sql_variant
SQL Server 中的 sql_variant 数据类型允许单个列、参数或变量存储不同数据类型的数据值。sql_variant 列的每个实例都记录数据值和描述该值的元数据:该值的基本数据类型、最大大小、小数位数、精度和排序规则。

下例中的第二个表包含一个 sql_variant 列:

CREATE TABLE ObjectTable
    (ObjectID            int
                            CONSTRAINT PKObjectTable PRIMARY KEY,
    ObjectName            nvarchar(80),
    ObjectWeight        decimal(10,3),
    ObjectColor        nvarchar(20)
    )

CREATE TABLE VariablePropertyTable
    (ObjectID            int REFERENCES ObjectTable(ObjectID),
    PropertyName        nvarchar(100),
    PropertyValue        sql_variant,
    CONSTRAINT PKVariablePropertyTable
                    PRIMARY KEY(ObjectID, PropertyName)
    )

若要获得任何一个特定 sql_variant 实例的元数据信息,请使用 SQL_VARIANT_PROPERTY 函数。

table
table 数据类型类似是一个临时表,可以用于存储一个结果集以便以后处理。这种数据类型只能用于定义 table 类型的局部变量和用户定义函数的返回值。

一个 table 变量或返回值的定义包括列、数据类型、精度、每列的小数位数以及可选的 PRIMARY KEY、UNIQUE 和CHECK 约束。

存储在 table 变量中或用户定义函数返回值中的行的格式,必须在声明变量或创建函数时定义。其语法基于 CREATE
TABLE 的语法。例如:

DECLARE @TableVar TABLE
  (Cola int PRIMARY KEY,
   Colb char(3))

INSERT INTO @TableVar VALUES (1, 'abc')
INSERT INTO @TableVar VALUES (2, 'def')

SELECT * FROM @TableVar
GO

返回一个 table 的 table 变量和用户定义函数只能用于某些 SELECT 和 INSERT 语句,而且其中 UPDATE、DELETE 和
DECLARE CURSOR 语句支持表。返回 table 的 table 变量和用户定义函数不能用于任何其它 Transact-SQL 语句。

在该表中使用的索引或其它约束必须被定义为 DECLARE variable 或 CREATE FUNCTION 语句的一部分。不得过后再使用它
们,因为 CREATE INDEX 或 ALTER TABLE 语句不能引用表变量和用户定义的函数。

有关用于定义 table 变量和用户定义函数的语法的更多信息,请参见 DECLARE @local_variable (T-SQL) 和 CREATE
FUNCTION (T-SQL)。

timestamp
SQL Server timestamp 数据类型与时间和日期无关。SQL Server timestamp 是二进制数字,它表明数据库中数据修改发生的相对顺序。实现 timestamp 数据类型最初是为了支持 SQL Server 恢复算法。每次修改页时,都会使用当前的
@@DBTS 值对其做一次标记,然后 @@DBTS 加1。这样做足以帮助恢复过程确定页修改的相对次序,但是 timestamp 值与时间没有任何关系。

在 SQL Server 7.0 版和 SQL Server 2000 中,@@DBTS 只在 timestamp 列中使用时其值才会递增。如果一个表包含 timestamp 列,则每次由 INSERT、UPDATE 或DELETE 语句修改一行时,此行的 timestamp 值就被置为当前的 @@DBTS 值,然后 @@DBTS 加1。
因为每一次修改时 timestamp 值都会改变,所以千万不要在键(特别是主键)中使用 timestamp 列。

若要记录表中发生的数据修改次数,可用 datetime 或 smalldatetime 数据类型来记录这些事件和触发器,这样,当发生修改时,就可以自动更新其值。

来源:http://www.tulaoshi.com/n/20160129/1498086.html

延伸阅读
特殊符号在书写文章是经常会用到,例如:“§”,不要说没有用到哦,这个符号的输入方法有多种,本文的目的为大家介绍下使用wps如何快速输入“§”这个符号,在wps中可以使用“符号栏”进行特殊符号的输入,下面与大家分享下"符号栏"中如何增加、删除符号,调整符号的顺序以及设置字符的快捷...
标签: excel
Excel2013如何使用数据条展示数据?   上一篇文章中我们讲到了在Excel2013中使用数据条展示数据的技巧,可惜的是,数据条主要是应用于一条数据的展示的,如果大家有多组数据需要展示,那么,试试迷你图吧。今天,我们就来学习怎么在Excel2013中使用迷你图。 具体做法如下: 1、用Excel2013打开含有几组数据的工作表,如下图...
标签: word
Word2010使用快捷输入特殊符号 第1步,打开Word2010文档窗口,切换到插入功能区。在符号分组中单击符号按钮,并单击其它符号选项,如图1所示。 第2步,打开符号对话框,选中准备指定快捷键的符号(例如→号),并单击快捷键按钮,如图2所示。 电脑教程 第3步,在打开的自定义键盘对话框中,将光标定位到请按新快捷键...
MiniTool数据恢复使用教程   1、下载安在MiniTool数据恢复工具,安装打开后,点击进入分区丢失恢复功能模块: 1、在界面右方的显示列表中,选中目标分区(即:需要进行数据恢复操作的丢失分区。以下内容均以目标分区所替代)丢失之前所在磁盘,并点击扫描按钮对磁盘中丢失分区进行快速扫描: 然后,在显示列表中找到并...
标签: Web开发
在网络浏览器软件中,可以Internet Explorer (IE)现在是一种标准的软件。可以看到,运行不同版本的Windows操作系统(和很多其他的操作系统)的每一台机器几乎都使用IE。微软已经通过ActiveX控件将IE的功能包含在执行成熟的XML处理技术中。 在本篇文章中,我们将讲述如何在IE中使用ActiveX功能来访问并解析XML文档,由此允许网络冲浪者操...

经验教程

513

收藏

15
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部