下载此文档

标识列和GUID列.docx


文档分类:经济/贸易/财会 | 页数:约3页 举报非法文档有奖
1/3
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/3 下载此文档
文档列表 文档介绍
标识列和GUID列 在SQLServer的表中,可能会有两种特殊的列。一种是标识列(Identity),一种是全球唯一标识符(GUID) 首先看第一种 通过使用IDENTITY属性可以实现标识符列。这使得开发人员可以为表中所插入的第一行指定一个标识号(IdentitySeed属性),并确定要添加到种子上的增量(IdentityIncrement属性)以确定后面的标识号。将值插入到有标识符列的表中之后,数据库引擎会通过向种子添加增量来自动生成下一个标识值。当您向现有表中添加标识符列时,还会将标识号添加到现有表行中,并按照最初插入这些行的顺序应用种子值和增量值。同时还为所有新添加的行生成标识号。不能修改现有表列来添加IDENTITY属性。 在用IDENTITY属性定义标识符列时,注意下列几点: 一个表只能有一个使用IDENTITY属性定义的列,且必须通过使用decimal、int、numeric、smallint、bigint或tinyint数据类型来定义该列。可指定种子和增量。二者的默认值均为1。标识符列不能允许为Null值,也不能包含DEFAULT定义或对象。在设置IDENTITY属性后,可以使用$IDENTITY关键字在选择列表中引用该列。还可以通过名称引用该列。OBJECTPROPERTY函数可用于确定一个表是否具有IDENTITY列,COLUMNPROPERTY函数可用于确定IDENTITY列的名称。通过使值能够显式插入,SETIDENTITY_INSERT可用于禁用列的IDENTITY属性。注意: 如果在经常进行删除操作的表中存在标识符列,那么标识值之间可能会出现断缺。已删除的标识值不再重新使用。要避免出现这类断缺,请勿使用IDENTITY属性。而是可以在插入行时,以标识符列中现有的值为基础创建一个用于确定新标识符值的触发器。 与标识列有关几个特殊关键字  ?12SELECT$  还有一个系统变量,可以返回当前最新的标识值:@***@identity   然后来看看全球唯一标识符列 尽管IDENTITY属性在一个表内自动进行行编号,但具有各自标识符列的各个表可以生成相同的值。这是因为IDENTITY属性仅在使用它的表上保证是唯一的。如果应用程序生成一个标识符列,并且该列在整个数据库或全球联网的所有计算机上的所有数据库中必须是唯一的,请使用uniqueidentifier数据类型和NEWID或NEWSEQUENTIALID()函数。此外,还可以应用ROWGUIDCOL属性以指示新列是行GUID列。与使用IDENTITY属性定义的列不同,数据库引擎不会为uniqueidentifier类型的列自动生成值。若要插入全局唯一值,请为该列创建DEFAULT定义来使用NEWID或NEWSEQUENTIALID函数生成全局唯一值。有关详细信息,请参阅使用unique

标识列和GUID列 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数3
  • 收藏数0 收藏
  • 顶次数0
  • 上传人小枷
  • 文件大小15 KB
  • 时间2019-01-19