Sdílet prostřednictvím


NEWID (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed Instancekoncový bod azure Synapse AnalyticsSQL Analytics v Microsoft FabricWarehouse v Microsoft Fabric

Vytvoří jedinečnou hodnotu typu uniqueidentifier.

Transact-SQL konvence syntaxe

Syntax

NEWID ( )  

Návratové typy

uniqueidentifier

Poznámky

NEWID() je kompatibilní s RFC4122.

Příklady

A. Použití funkce NEWID s proměnnou

Následující příklad používá NEWID() k přiřazení hodnoty proměnné deklarované jako uniqueidentifier datového typu. Hodnota uniqueidentifier proměnné datového typu se vytiskne před testem hodnoty.

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

Tady je sada výsledků.

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

Poznámka

Hodnota vrácená NEWID() se pro každý počítač liší. Toto číslo se zobrazuje jenom pro ilustraci.

B. Použití NEWID v příkazu CREATE TABLE

platí pro: SQL Server

Následující příklad vytvoří tabulku cust s datovým typem uniqueidentifier a použije NEWID() k vyplnění tabulky výchozí hodnotou. Při přiřazování výchozí hodnoty NEWID()má každý nový a existující řádek jedinečnou hodnotu pro sloupec 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. Použití uniqueidentifieru a přiřazení proměnných

Následující příklad deklaruje místní proměnnou s názvem @myid jako proměnnou uniqueidentifier datového typu. Potom je proměnná přiřazena hodnotu pomocí příkazu SET.

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

D. Dotazování náhodných dat pomocí funkce NEWID()

Následující příklad dotazuje náhodný záznam z tabulky Production.Product pomocí funkce NEWID(). Pokud chcete dotazovat více záznamů náhodně, zvyšte TOP hodnotu.

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