NEWID (Transact-SQL)

Si applica a:SQL Server database SQL di Azure Istanza gestita di SQL di Azure Endpoint di analisi SQL di Azure Synapse Analyticsin Microsoft FabricWarehouse in Microsoft Fabric

Crea un valore univoco di tipo uniqueidentifier.

Convenzioni di sintassi Transact-SQL

Sintassi

NEWID ( )  

Nota

Per visualizzare la sintassi Transact-SQL per SQL Server 2014 (12.x) e versioni precedenti, vedere la documentazione delle versioni precedenti.

Nota

Non è supportata nei pool serverless di Azure Synapse.

Tipi restituiti

uniqueidentifier

Osservazioni:

NEWID() è conforme a RFC4122.

Esempi

R. Utilizzo della funzione NEWID con una variabile

Nell'esempio seguente viene usata NEWID() per assegnare un valore a una variabile dichiarata con il tipo di dati uniqueidentifier. Il valore della variabile di tipo uniqueidentifier viene stampato prima di essere verificato.

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

Questo è il set di risultati.

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

Nota

Il valore restituito da NEWID è diverso in ogni computer. Il valore riportato è solo a scopo illustrativo.

B. Utilizzo di NEWID in un'istruzione CREATE TABLE

Si applica a: SQL Server

Nell'esempio seguente viene creata una tabella cust con tipo di dati uniqueidentifier e viene usata NEWID per riempire la tabella con un valore predefinito. Quando si assegna il valore predefinito con NEWID(), tutte le righe, esistenti e nuove, contengono un valore univoco nella colonna 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. Utilizzo dell'assegnazione di variabili e del tipo uniqueidentifier

Nell'esempio seguente viene dichiarata una variabile locale denominata @myid come variabile di tipo uniqueidentifier. Alla variabile viene quindi assegnato un valore mediante l'istruzione SET.

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

D. Eseguire query su dati casuali con la funzione NEWID()

Nell'esempio seguente viene eseguita una query su un record casuale dalla Production.Product tabella usando la NEWID() funzione . Per eseguire una query su più record in modo radomly, aumentare il TOP valore.

SELECT TOP 1 ProductID, Name, ProductNumber
FROM Production.Product
ORDER BY NEWID()
GO

Vedi anche

NEW edizione Standard QUENTIALID (Transact-SQL)
ALTER TABLE (Transact-SQL)
CAST e CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
Tipi di dati (Transact-SQL)
Funzioni di sistema (Transact-SQL)
uniqueidentifier (Transact-SQL)
Numeri di sequenza