NEWID (Transact-SQL)
Si applica a: SQL Server database SQL di Azure Istanza gestita di SQL di Azure Azure Synapse Analytics Endpoint di analisi SQL in Microsoft Fabric Warehouse in Microsoft Fabric
Crea un valore univoco di tipo uniqueidentifier.
Convenzioni relative alla sintassi Transact-SQL
Sintassi
NEWID ( )
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)
Il set di risultati è il seguente.
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 query su più record in modo casuale, aumentare il TOP
valore.
SELECT TOP 1 ProductID, Name, ProductNumber
FROM Production.Product
ORDER BY NEWID()
GO
Vedi anche
NEWSEQUENTIALID (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