NEWID (Transact-SQL)
gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsSQL-analysslutpunkt i Microsoft FabricWarehouse i Microsoft Fabric
Skapar ett unikt värde av typen unikidentifierare.
Transact-SQL syntaxkonventioner
Syntax
NEWID ( )
Returtyper
unikidentifierare
Anmärkningar
NEWID()
är kompatibel med RFC4122.
Exempel
A. Använda funktionen NEWID med en variabel
I följande exempel används NEWID()
för att tilldela ett värde till en variabel som deklarerats som unikidentifierare datatyp. Värdet för variabeln unikidentifierare datatyp skrivs ut innan värdet testas.
-- Creating a local variable with DECLARE/SET syntax.
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)
Här är resultatuppsättningen.
Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF
Not
Värdet som returneras av NEWID()
skiljer sig åt för varje dator. Det här talet visas bara för bild.
B. Använda NEWID i en CREATE TABLE-instruktion
gäller för: SQL Server
I följande exempel skapas tabellen cust
med en unikidentifierare datatyp och använder NEWID()
för att fylla tabellen med ett standardvärde. När du tilldelar standardvärdet för NEWID()
har varje ny och befintlig rad ett unikt värde för kolumnen 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. Använda unikidentifierare och variabeltilldelning
I följande exempel deklareras en lokal variabel med namnet @myid
som en variabel av unikidentifierare datatyp. Sedan tilldelas variabeln ett värde med hjälp av instruktionen SET
.
DECLARE @myid uniqueidentifier ;
SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12';
SELECT @myid;
GO
D. Köra frågor mot slumpmässiga data med funktionen NEWID()
I följande exempel efterfrågas en slumpmässig post från tabellen Production.Product
med hjälp av funktionen NEWID()
. Om du vill köra frågor mot fler poster slumpmässigt ökar du värdet för TOP
.
SELECT TOP 1 ProductID, Name, ProductNumber
FROM Production.Product
ORDER BY NEWID()
GO