NEWID (Transact-SQL)
se aplica a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada SQL do Azureponto de extremidade do Azure Synapse AnalyticsSQL Analytics no Microsoft FabricWarehouse no Microsoft Fabric
Cria um valor exclusivo do tipo identificador exclusivo.
Transact-SQL convenções de sintaxe
Sintaxe
NEWID ( )
Tipos de devolução
identificador único
Comentários
NEWID()
está em conformidade com RFC4122.
Exemplos
Um. Usando a função NEWID com uma variável
O exemplo a seguir usa NEWID()
para atribuir um valor a uma variável declarada como o uniqueidentifier tipo de dados. O valor da variável de tipo de dados uniqueidentifier é impresso antes que o valor seja testado.
-- Creating a local variable with DECLARE/SET syntax.
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)
Aqui está o conjunto de resultados.
Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF
Observação
O valor retornado por NEWID()
é diferente para cada computador. Este número é mostrado apenas para ilustração.
B. Usando NEWID em uma instrução CREATE TABLE
Aplica-se a: SQL Server
O exemplo a seguir cria a tabela cust
com um uniqueidentifier tipo de dados e usa NEWID()
para preencher a tabela com um valor padrão. Ao atribuir o valor padrão de NEWID()
, cada linha nova e existente tem 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 de uniqueidentifier tipo de dados. Em seguida, é atribuído um valor à variável usando a instrução SET
.
DECLARE @myid uniqueidentifier ;
SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12';
SELECT @myid;
GO
D. Consultar dados aleatórios com a função NEWID()
O exemplo a seguir consulta um registro aleatório da tabela Production.Product
usando a função NEWID()
. Para consultar mais registros aleatoriamente, aumente o valor TOP
.
SELECT TOP 1 ProductID, Name, ProductNumber
FROM Production.Product
ORDER BY NEWID()
GO