Freigeben über


NEWID (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsSQL Analytics-Endpunkt in Microsoft FabricWarehouse in Microsoft Fabric

Erstellt einen eindeutigen Wert vom Typ uniqueidentifier.

Transact-SQL-Syntaxkonventionen

Syntax

NEWID ( )  

Rückgabetypen

uniqueidentifier

Bemerkungen

NEWID() ist mit RFC4122 kompatibel.

Beispiele

A. Verwenden der NEWID-Funktion mit einer Variablen

Das folgende Beispiel verwendet NEWID() zum Zuweisen eines Wertes an eine Variable, die mit dem uniqueidentifier -Datentyp deklariert wurde. Der Wert der Variablen vom Datentyp uniqueidentifier wird gedruckt, bevor er getestet wird.

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

Hier sehen Sie das Ergebnis.

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

Hinweis

Der von NEWID() zurückgegebene Wert unterscheidet sich für jeden Computer. Die Zahl wird nur zur Veranschaulichung angegeben.

B. Verwenden von NEWID in einer CREATE TABLE-Anweisung

Gilt für: SQL Server

Im folgenden Beispiel wird die cust Tabelle mit einem eindeutigen Datentyp erstellt und NEWID() verwendet, um die Tabelle mit einem Standardwert auszufüllen. Durch das Zuweisen des Standardwertes NEWID()enthält jede neue und vorhandene Zeile einen eindeutigen Wert für die CustomerID -Spalte.

-- 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. Verwenden von uniqueidentifier und Variablenzuweisung

Das folgende Beispiel deklariert eine lokale Variable namens @myid als Variable vom Datentyp uniqueidentifier -Datentyp deklariert wurde. Anschließend wird der Variablen mithilfe der SET -Anweisung ein Wert zugewiesen.

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

D: Abfragen zufälliger Daten mit der NEWID()-Funktion

Im folgenden Beispiel wird mithilfe der Production.Product-Funktion ein zufälliger Datensatz aus der Tabelle NEWID() abgefragt. Um nach dem Zufallsprinzip weitere Datensätze abzufragen, erhöhen Sie den TOP Wert.

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