登录名:  密码:  验证码: 8119
设为首页 收藏本站 联系站长
2009年1月10日
农历戊子年(鼠)
腊月十五
 首页 | 最新上传 | 新闻 | 购物商场 | 招聘求职 | HTML学习 | java学习 | IT新闻 | 黑客技术 | 域名和空间 | 流量统计 | 故事小说
 GIF动画制作 | 图片素材 | 源码下载 | 书籍下载 | 视频资料 | ASP | 数据库 | PHP | 基本电脑知识 | 迅雷资源 | 兼职 | 组网工程
 英语学习 | FLASH专区 | ASP.NET | VB | 综合资源网 | 驱动下载 | 游戏下载 | 网站模板网页美工 | 韩文学习 | 论坛
 特别推荐:产品报价  漂亮网站网址  图片素材
  我要查找:  
欢迎您来这里。每天学一点,每天进步一点!
Google
 当前位置:首页 >> ASP.NET  >> ASP.NET
使用 uniqueidentifier 数据
来源:http://technet.microsoft.com/zh-cn/library/ms190215.aspx  发表日期:2008年5月6日 作者: 

 编辑:admin 级别: 司令 浏览次数:94
】    

uniqueidentifier 数据类型可存储 16 字节的二进制值,其作用与全局唯一标识符 (GUID) 一样。GUID 是唯一的二进制数;世界上的任何两台计算机都不会生成重复的 GUID 值。GUID 主要用于在拥有多个节点、多台计算机的网络中,分配必须具有唯一性的标识符。

uniqueidentifier 列的 GUID 值通常通过下列方式之一获取:

  • 在 Transact-SQL 语句、批处理或脚本中调用 NEWID 函数。
  • 在应用程序代码中,调用返回 GUID 的应用程序 API 函数或方法。

Transact-SQL NEWID 函数以及应用程序 API 函数和方法用它们的网卡的标识号加上 CPU 时钟的唯一编号来生成新的 uniqueidentifier 值。每个网卡都有唯一的标识号。NEWID 返回的 uniqueidentifier 值是通过使用服务器上的网卡而生成的。应用程序 API 函数和方法返回的 uniqueidentifier 值是通过使用客户端中的网卡而生成的。

uniqueidentifier 值通常不定义为常量。您可以按下列方式指定 uniqueidentifier 常量:

  • 字符串格式:'6F9619FF-8B86-D011-B42D-00C04FC964FF'
  • 二进制格式:0xff19966f868b11d0b42d00c04fc964ff

uniqueidentifier 数据类型不会按照 IDENTITY 属性的方式为插入的行自动生成新的 ID。例如,若要获取新的 uniqueidentifier 值,则表必须具有指定 NEWID 函数或 NEWSEQUENTIALID 函数的 DEFAULT 子句,或 INSERT 语句必须使用 NEWID 函数。

CREATE TABLE MyUniqueTable
   (UniqueColumn   UNIQUEIDENTIFIER      DEFAULT NEWID(),
   Characters      VARCHAR(10) )
GO
INSERT INTO MyUniqueTable(Characters) VALUES ('abc')
INSERT INTO MyUniqueTable VALUES (NEWID(), 'def')
GO

注意:
您可以使用 NEWSEQUENTIALID 生成 GUID 以减少叶级别索引上的页争用。NEWSEQUENTIALID 只能与 uniqueidentifier 类型的表列的 DEFAULT 约束一起使用。

uniqueidentifier 列中可以多次出现某个 uniqueidentifier 值,除非对该列也指定了 UNIQUE 或 PRIMARY KEY 约束。当多个行引用源表中的同一个主键时,引用其他表中 uniqueidentifier 主键的外键列中可以多次出现各个 uniqueidentifier 值。

一个表可以有多个 uniqueidentifier 列。每个表中可以指定一个具有 ROWGUIDCOL 属性的 uniqueidentifier 列。ROWGUIDCOL 属性指明此列的 uniqueidentifier 值可唯一地标识表中的行。但是,属性不会执行任何强制实现唯一性的操作。必须使用其他机制强制实现唯一性,例如指定列的 PRIMARY KEY 约束。ROWGUIDCOL 属性主要用于 Microsoft SQL Server 2005 复制。具有更新订阅的合并复制和事务复制使用 uniqueidentifier 列来确保在表的多个副本中唯一地标识行。

uniqueidentifier 数据类型具有下列缺点:

  • 值长且难懂。这使用户难以正确键入它们,并且更难记住。
  • 这些值是随机的,而且它们不支持任何使其对用户更有意义的模式。
  • 也没有任何方式可以决定生成 uniqueidentifier 值的顺序。它们不适用于那些依赖递增的键值的现有应用程序。
  • uniqueidentifier 为 16 字节时,其数据类型比其他数据类型(例如 4 字节的整数)大。这意味着使用 uniqueidentifier 键生成索引的速度相对慢于使用 int 键生成索引的速度。

在不要求全局唯一性或首选使用按序列增加的键时,请考虑使用 IDENTITY 属性。

(编辑:网站学习网)
 ·上一篇文章: 巧用枚举CommandBehavior关闭Sql
 ·下一篇文章: itoa汽车公司办公管理软件下载版
 该篇文章的评论
 暂无相关评论
 姓名:  邮箱:
 内容:
                
 相关文章
 · Microsoft Data Access
 · asp.net C#连接SQL
 · Visual studio&nbs
 · 请问Microsoft Data Acc
 · 在XP下配置ASP.net的运行
 · ASP.NET教程:抽象类和接
 · resx是什么文件
 · 关于如何得到新增记录的
 · asp.net调用Console程序
 · Asp.net简单会员管理系统
 · 怎样安装和使用Visual&n
 最新上传文章
 · 使用 cookie 
 · Asp Object 之
 · 建立企业信息化 &n
 · 80后IT四少:媒体塑造了我
 · 我国企业电子商务交易总
 · asp连接带有密码的acces
 · 互联网应用广泛 电
 · Adobe Illustrator
 · delphi程序打包安装制作
 · 企业邮件管理有新招&nbs
 · toolbar图标:ToolBar上的

服务说明 | 关于网站 | 联系我们 | 友情链接
网站学习网欢迎您!
http://www.studywebgood.com
浙ICP备07030755号 
联系邮箱:shuizhilang@126.com 如本网站侵犯了您的版权,请马上通知我.