Поделиться через


NEWID (Transact-SQL)

Создает уникальное значение типа uniqueidentifier.

Значок ссылки на разделСинтаксические обозначения языка Transact-SQL

Синтаксис

NEWID ( )

Типы возвращаемых данных

uniqueidentifier

Примеры

А. Использование функции NEWID с переменной

В следующем примере функция 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, на разных компьютерах различается. Это число приведено только для иллюстрации.

Б. Использование функции NEWID в инструкции CREATE TABLE

В следующем примере создается таблица cust с типом данных uniqueidentifier и заполняется значением по умолчанию с помощью функции 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

В. Использование типа uniqueidentifier и присваивания значения переменной

В следующем примере объявляется локальная переменная типа uniqueidentifier с именем @myid. Затем переменной присваивается значение с помощью оператора SET.

DECLARE @myid uniqueidentifier 
SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12'
GO