Megosztás a következőn keresztül:


NEWID (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsSQL Analytics-végpont a Microsoft FabricWarehouse-ban a Microsoft Fabric

Egyedi értéket hoz létre uniqueidentifier.

Transact-SQL szintaxis konvenciói

Szintaxis

NEWID ( )  

Visszatérési típusok

uniqueidentifier

Megjegyzések

NEWID() megfelel a RFC4122.

Példák

Egy. A NEWID függvény használata változóval

Az alábbi példa NEWID() használ egy értéket egy uniqueidentifier adattípusként deklarált változóhoz. Az érték tesztelése előtt a uniqueidentifier adattípus-változó értéke lesz kinyomtatva.

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

Itt van az eredményhalmaz.

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

Jegyzet

A NEWID() által visszaadott érték minden számítógépen eltérő. Ez a szám csak illusztrációként jelenik meg.

B. A NEWID használata a CREATE TABLE utasításban

A következővonatkozik: SQL Server

Az alábbi példa egy cust adattípussal hozza létre a táblát, és a NEWID() használatával tölti ki a táblát alapértelmezett értékkel. A NEWID()alapértelmezett értékének hozzárendelésekor minden új és meglévő sor egyedi értékkel rendelkezik a CustomerID oszlophoz.

-- 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. Uniqueidentifier és változó-hozzárendelés használata

Az alábbi példa egy @myid nevű helyi változót deklarál uniqueidentifier adattípus változójaként. Ezután a SET utasítással a változóhoz érték lesz hozzárendelve.

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

D. Véletlenszerű adatok lekérdezése a NEWID() függvénnyel

Az alábbi példa egy véletlenszerű rekordot lekérdez a Production.Product táblából a NEWID() függvénnyel. Ha több rekordot szeretne véletlenszerűen lekérdezni, növelje a TOP értékét.

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