前言
__uuidof关键字用来获得表达式的GUID。这个表达式可以是一种类型,名称,一个指针,一个引用或者一个类型的数组,一个类模板,一个由类模板实例化的模板类。只要编译器能使该参数获得相关的GUID,那么该参数就是有效的
GUID(全局统一标识符)是指在一台机器上生成的数字,它保证对在同一时空中的所有机器都是唯一的。
一、GUID是什么?
1、一个GUID为一个128位的整数(16字节),在使用唯一标识符的情况下,你可以在所有计算机和网络之间使用这一整数。
2、GUID的格式为“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”,每个x是0-9或A-F范围内的一个十六进制的数字。
3、世间上的任何两台计算机都不会生成重复的GUID值。GUID主要用在拥有多个节点、多台计算机的网络或系统中,分配必须具有唯一性的标识符。
4、在Windows平台上,GUID应用非常广泛:注册表、类以及接口表示、数据库、甚至自动生成的机器名、目录名。
二、在SQL Server中使用GUID
如果在SQL Server的表定义中将列类型指定为uniqueidentifier,则列的值就为GUID类型。
SQL Server中的NewID()函数可以产生GUID唯一值,使用此函数的几种方式如下:
1.作为列默认值
将uniqueidentifier的列的默认值设为NewID(),这样当新行插入表中时,会自动生成此列GUID值。
2.使用T-SQL
在T-SQL中使用NewID()函数,如"INSERT INTO Table(ID,…) VALUES(NewID(),…)"来生成此列的GUID值。