Delen via


NEWID (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Analytics-eindpunt in Microsoft FabricWarehouse in Microsoft Fabric

Hiermee maakt u een unieke waarde van het type uniqueidentifier.

Transact-SQL syntaxisconventies

Syntaxis

NEWID ( )  

Retourtypen

uniqueidentifier-

Opmerkingen

NEWID() voldoet aan RFC4122.

Voorbeelden

Een. De functie NEWID gebruiken met een variabele

In het volgende voorbeeld wordt NEWID() gebruikt om een waarde toe te wijzen aan een variabele die is gedeclareerd als de uniqueidentifier gegevenstype. De waarde van de uniqueidentifier gegevenstypevariabele wordt afgedrukt voordat de waarde wordt getest.

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

Dit is de resultatenset.

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

Notitie

De waarde die door NEWID() wordt geretourneerd, is voor elke computer anders. Dit getal wordt alleen weergegeven voor illustratie.

B. NEWID gebruiken in een CREATE TABLE-instructie

van toepassing op: SQL Server

In het volgende voorbeeld wordt de cust tabel gemaakt met een uniqueidentifier gegevenstype en wordt NEWID() gebruikt om de tabel te vullen met een standaardwaarde. Bij het toewijzen van de standaardwaarde van NEWID()heeft elke nieuwe en bestaande rij een unieke waarde voor de kolom 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. Uniqueidentifier en variabeletoewijzing gebruiken

In het volgende voorbeeld wordt een lokale variabele met de naam @myid gede declareert als een variabele van uniqueidentifier gegevenstype. Vervolgens wordt aan de variabele een waarde toegewezen met behulp van de instructie SET.

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

D. Willekeurige gegevens opvragen met de functie NEWID()

In het volgende voorbeeld wordt een willekeurige record uit de Production.Product tabel opgevraagd met behulp van de functie NEWID(). Als u willekeurig query's wilt uitvoeren op meer records, verhoogt u de TOP waarde.

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