NEWID (Transact-SQL)
创建 uniqueidentifier 类型的唯一值。
NEWID ( )
uniqueidentifier
以下示例使用 NEWID()
对声明为 uniqueidentifier 数据类型的变量赋值。在测试 uniqueidentifier 数据类型变量的值之前,先输出该值。
-- Creating a local variable with DECLARE/SET syntax.
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)
下面是结果集:
Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF
![]() |
---|
NEWID 对每台计算机返回的值各不相同。所显示的数字仅起解释说明的作用。 |
以下示例创建数据类型为 uniqueidentifier 的 cust
表,并使用 NEWID 以默认值填充该表。为 NEWID()
赋予默认值时,每个新行和现有行均对 CustomerID
列具有唯一值。
-- 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
以下示例将名为 @myid
的局部变量声明为 uniqueidentifier 数据类型的变量。然后使用 SET
语句为该变量赋值。
DECLARE @myid uniqueidentifier
SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12'
GO
NEWSEQUENTIALID()
ALTER TABLE (Transact-SQL)
CAST 和 CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
数据类型 (Transact-SQL)
系统函数 (Transact-SQL)
uniqueidentifier (Transact-SQL)