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.
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
Související obsah
-
NEWSEQUENTIALID (Transact-SQL) -
ALTER TABLE (Transact-SQL) -
CAST a CONVERT (Transact-SQL) - CREATE TABLE (Transact-SQL)
- datových typů
(Transact-SQL) - systémové funkce (Transact-SQL)
-
uniqueidentifier (Transact-SQL) - pořadových čísel