NEWID (Transact-SQL)
Crée une valeur unique de type uniqueidentifier.
Syntaxe
NEWID ( )
Types renvoyés
uniqueidentifier
Exemples
A. 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 l'ensemble des résultats.
Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF
Notes
La valeur renvoyé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
L'exemple suivant crée la table cust avec un type 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 data into cust table.
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), 'Wartian Herkku', 'Pirkko Koskitalo', 'Torikatu 38', 'Oulu', NULL,
'90110', 'Finland', '981-443655', '981-443655')
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), 'Wellington Importadora', 'Paula Parente', 'Rua do Mercado, 12', 'Resende', 'SP',
'08737-363', 'Brasil', '(14) 555-8122', '')
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), 'Cactus Comidas para Ilevar', 'Patricio Simpson', 'Cerrito 333', 'Buenos Aires', NULL,
'1010', 'Argentina', '(1) 135-5555', '(1) 135-4892')
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), 'Ernst Handel', 'Roland Mendel', 'Kirchgasse 6', 'Graz', NULL,
'8010', 'Austria', '7675-3425', '7675-3426')
INSERT cust
(CustomerID, Company, ContactName, Address, City, StateProvince,
PostalCode, CountryRegion, Telephone, Fax)
VALUES
(NEWID(), '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'
GO