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 ( )  

Hinweis

Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 (12.x) und früher finden Sie unter Dokumentation zu früheren Versionen.

Hinweis

Wird für serverlose Azure Synapse-Pools nicht unterstützt.

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 ist das Resultset.

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

Hinweis

Der von NEWID zurückgegebene Wert ist für jeden Computer unterschiedlich. Die Zahl wird nur zur Veranschaulichung angegeben.

B. Verwenden von NEWID in einer CREATE TABLE-Anweisung

Gilt für: SQL Server

Das folgende Beispiel erstellt die cust -Tabelle mit einem uniqueidentifier data type, and uses NEWID to fill the -Tabelle mit einem default value. 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 NEWID()-Funktion ein zufälliger Datensatz aus der Tabelle Production.Product abgefragt. Um mehr Datensätze abzufragen, erhöhen Sie den Wert von TOP.

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

Siehe auch

NEWSEQUENTIALID (Transact-SQL)
ALTER TABLE (Transact-SQL)
CAST und CONVERT (Transact-SQL)
CREATE TABLE (Transact-SQL)
Datentypen (Transact-SQL)
Systemfunktionen (Transact-SQL)
uniqueidentifier (Transact-SQL)
Sequenznummern