NEWID (Transact-SQL)

Aplica-se a: simSQL Server (todas as versões compatíveis) SimBanco de Dados SQL do Azure SimInstância Gerenciada do Azure SQL

Cria um valor exclusivo do tipo uniqueidentifier.

Ícone de link do tópico Convenções da sintaxe Transact-SQL

Sintaxe

NEWID ( )  

Observação

Para ver a sintaxe do Transact-SQL para o SQL Server 2014 e versões anteriores, confira a Documentação das versões anteriores.

Tipos de retorno

uniqueidentifier

Comentários

NEWID() é compatível com RFC4122.

Exemplos

a. Usando uma função NEWID com uma variável

O exemplo a seguir usa NEWID() para atribuir um valor a uma variável declarada como o tipo de dados uniqueidentifier. O valor da variável de tipo de dados uniqueidentifier é impresso antes de o valor ser testado.

-- Creating a local variable with DECLARE/SET syntax.  
DECLARE @myid uniqueidentifier  
SET @myid = NEWID()  
PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)  

Este é o conjunto de resultados.

Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF  

Observação

O valor retornado por NEWID é diferente para cada computador. O número mostrado é meramente ilustrativo.

B. Usando NEWID em uma instrução CREATE TABLE

Aplica-se a: SQL Server

O exemplo a seguir cria a tabela cust com um tipo de dados uniqueidentifier e usa NEWID para preenchê-la com um valor padrão. Ao atribuir o valor padrão de NEWID(), cada linha existente e nova possui um valor exclusivo para a coluna 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 5 rows into cust table.  
INSERT cust  
(Company, ContactName, Address, City, StateProvince,   
 PostalCode, CountryRegion, Telephone, Fax)  
VALUES  
 ('Wartian Herkku', 'Pirkko Koskitalo', 'Torikatu 38', 'Oulu', NULL,  
 '90110', 'Finland', '981-443655', '981-443655')  
,('Wellington Importadora', 'Paula Parente', 'Rua do Mercado, 12', 'Resende', 'SP',  
 '08737-363', 'Brasil', '(14) 555-8122', '')  
,('Cactus Comidas para Ilevar', 'Patricio Simpson', 'Cerrito 333', 'Buenos Aires', NULL,   
 '1010', 'Argentina', '(1) 135-5555', '(1) 135-4892')  
,('Ernst Handel', 'Roland Mendel', 'Kirchgasse 6', 'Graz', NULL,  
 '8010', 'Austria', '7675-3425', '7675-3426')  
,('Maison Dewey', 'Catherine Dewey', 'Rue Joseph-Bens 532', 'Bruxelles', NULL,  
 'B-1180', 'Belgium', '(02) 201 24 67', '(02) 201 24 68');  
GO

C. Usando uniqueidentifier e atribuição de variável

O exemplo a seguir declara uma variável local chamada @myid como uma variável do tipo de dados uniqueidentifier. Em seguida, é atribuído um valor à variável usando-se a instrução SET.

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

Consulte Também

NEWSEQUENTIALID (Transact-SQL)
ALTER TABLE (Transact-SQL)
CAST e CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
Tipos de dados (Transact-SQL)
Funções de sistema (Transact-SQL)
uniqueidentifier (Transact-SQL)
Números de sequência