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