NEWID (Transact-SQL)
Crea un valore univoco di tipo uniqueidentifier.
Sintassi
NEWID ( )
Tipi restituiti
uniqueidentifier
Esempi
A. Utilizzo della funzione NEWID con una variabile
Nell'esempio seguente viene utilizzata NEWID() per assegnare un valore a una variabile dichiarata con il tipo di dati uniqueidentifier. Il valore della variabile di tipo uniqueidentifier viene stampato prima di essere verificato.
-- Creating a local variable with DECLARE/SET syntax.
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)
Set di risultati:
Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF
Nota
Il valore restituito da NEWID è diverso in ogni computer. Il valore riportato è solo a scopo illustrativo.
B. Utilizzo di NEWID in un'istruzione CREATE TABLE
Nell'esempio seguente viene creata una tabella cust con tipo di dati uniqueidentifier e viene utilizzata NEWID per riempire la tabella con un valore predefinito. Quando si assegna il valore predefinito con NEWID(), tutte le righe, esistenti e nuove, contengono un valore univoco nella colonna 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 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. Utilizzo dell'assegnazione di variabili e del tipo uniqueidentifier
Nell'esempio seguente viene dichiarata una variabile locale denominata @myid come variabile di tipo uniqueidentifier. Alla variabile viene quindi assegnato un valore mediante l'istruzione SET.
DECLARE @myid uniqueidentifier
SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12'
GO