zoukankan      html  css  js  c++  java
  • SQLServer中的uniqueidentifier与NEWID()函数

    uniqueidentifier中文含义“唯一的标识符”。

    uniqueidentifier数据类型是16个字节的二进制值,应具有唯一性,必须与NEWID()函数配合使用。

    uniqueidentifier数据类型与identity自增不同,不会为插入的新行自动生成新的ID,新值由NEWID()函数指定。

    NEWID()函数值会生成全球唯一的标识,标识由网卡号和CPU时钟组成,如:6F9619FF-8B86-D011-B42D-00C04FC964FF

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

    一个表可以定义多个uniqueidentifier列。

    对变量使用NEWID()函数

    DECLARE @myid uniqueidentifier
    SET @myid = NEWID()
    PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)

    在 CREATE TABLE 语句中使用 NEWID

    -- Creating a table using NEWID for uniqueidentifier data type.
    CREATE TABLE cust
    (
     CustomerID uniqueidentifier NOT NULL
       DEFAULT newid(),
     Company varchar(30) NOT NULL,
     ContactName varchar(60) NOT NULL, 
     Address varchar(30) NOT NULL, 
     City varchar(30) NOT NULL,
     StateProvince varchar(10) NULL,
     PostalCode varchar(10) NOT NULL, 
     CountryRegion varchar(20) NOT NULL, 
     Telephone varchar(15) NOT NULL,
     Fax varchar(15) NULL
    )
    GO
    -- Inserting data into cust table.
    INSERT cust
    (CustomerID, Company, ContactName, Address, City, StateProvince, 
     PostalCode, CountryRegion, Telephone, Fax)
    VALUES
    (NEWID(), 'Wartian Herkku', 'Pirkko Koskitalo', 'Torikatu 38', 'Oulu', NULL,
     '90110', 'Finland', '981-443655', '981-443655')
    INSERT cust
    (CustomerID, Company, ContactName, Address, City, StateProvince,
    PostalCode, CountryRegion, Telephone, Fax)
    VALUES 
    (NEWID(), 'Wellington Importadora', 'Paula Parente', 'Rua do Mercado, 12', 'Resende', 'SP',
     '08737-363', 'Brasil', '(14) 555-8122', '')
    INSERT cust
    (CustomerID, Company, ContactName, Address, City, StateProvince,
     PostalCode, CountryRegion, Telephone, Fax)
    VALUES
    (NEWID(), 'Cactus Comidas para Ilevar', 'Patricio Simpson', 'Cerrito 333', 'Buenos Aires', NULL, 
     '1010', 'Argentina', '(1) 135-5555', '(1) 135-4892')
    INSERT cust
    (CustomerID, Company, ContactName, Address, City, StateProvince,
     PostalCode, CountryRegion, Telephone, Fax)
    VALUES 
    (NEWID(), 'Ernst Handel', 'Roland Mendel', 'Kirchgasse 6', 'Graz', NULL,
     '8010', 'Austria', '7675-3425', '7675-3426')
    INSERT cust
    (CustomerID, Company, ContactName, Address, City, StateProvince,
     PostalCode, CountryRegion, Telephone, Fax)
    VALUES 
    (NEWID(), 'Maison Dewey', 'Catherine Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL,
     'B-1180', 'Belgium', '(02) 201 24 67', '(02) 201 24 68')
    GO
      
      
    使用 uniqueidentifier 和变量赋值,将名为@myid的局部变量声明为uniqueidentifier数据类型的变量。然后使用SET语句为该变量赋值。
    DECLARE @myid uniqueidentifier 
    SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12'
    GO
  • 相关阅读:
    4个方面教你怎么样成为一名及格的设计师
    CURL函数的GET和POST方式的两种写法(实现ajax跨域调用)
    微信公众平台接口配置问题
    wamp环境PHP安装mongodb扩展
    WAMP 403 Forbidden禁止访问
    PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
    在微信中实现app软件中账号注册的功能实现
    form表单只提交数据而不进行页面跳转的解决方案
    背景图片适配手机屏幕大小的设置方法。。。。。。。。。。。。
    TP中二维数组的遍历输出
  • 原文地址:https://www.cnblogs.com/zqn518/p/2577444.html
Copyright © 2011-2022 走看看