NEWID (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics SQL Analytics-Endpunkt in Microsoft Fabric Warehouse 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 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
Weitere Informationen
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