NEWID (Transact-SQL)
S’applique à :SQL Serverbase de données Azure SQLAzure SQL Managed InstanceAzure Synapse AnalyticsPoint de terminaison analytique SQL dans Microsoft FabricEntrepôt dans Microsoft Fabric
Crée une valeur unique de type uniqueidentifier.
Conventions de la syntaxe Transact-SQL
Syntaxe
NEWID ( )
Types de retour
uniqueidentifier
Remarques
NEWID()
compatible avec RFC4122.
Exemples
R. Utilisation de la fonction NEWID avec une variable
L’exemple suivant utilise NEWID()
pour attribuer une valeur à une variable déclarée de type uniqueidentifier. La valeur de la variable de type uniqueidentifier est imprimée avant d’être testée.
-- Creating a local variable with DECLARE/SET syntax.
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)
Voici le jeu de résultats.
Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF
Remarque
La valeur retournée par NEWID()
est différente pour chaque ordinateur. Ce nombre est donné seulement à titre d'illustration.
B. Utilisation de NEWID dans une instruction CREATE TABLE
S’applique à : SQL Server
L’exemple suivant crée la table cust
avec un type de données uniqueidentifier et utilise NEWID()
pour remplir la table avec une valeur par défaut. Lorsque vous affectez la valeur par défaut de NEWID()
, chaque ligne nouvelle ou existante de la colonne CustomerID
a une valeur unique.
-- 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. Utilisation de uniqueidentifier et affectation d'une variable
L’exemple suivant déclare une variable locale appelée @myid
en lui attribuant le type uniqueidentifier. Une valeur est ensuite affectée à la variable à l'aide de l'instruction SET
.
DECLARE @myid uniqueidentifier ;
SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12';
SELECT @myid;
GO
D. Interroger des données aléatoires avec la fonction NEWID()
L’exemple suivant interroge un enregistrement aléatoire de la table Production.Product
avec la fonction NEWID()
. Pour interroger plus d’enregistrements de façon aléatoire, augmentez la TOP
valeur.
SELECT TOP 1 ProductID, Name, ProductNumber
FROM Production.Product
ORDER BY NEWID()
GO