NEWID (Transact-SQL)
Crea un valor único de tipo uniqueidentifier.
Convenciones de sintaxis de Transact-SQL
Sintaxis
NEWID ( )
Tipos de valor devuelto
uniqueidentifier
Comentarios
NEWID() es conforme a RFC4122.
Ejemplos
A.Utilizar la función NEWID con una variable
En el ejemplo siguiente se usa NEWID() para asignar un valor a una variable declarada con el tipo de datos uniqueidentifier. El valor de la variable de tipo uniqueidentifier se imprime antes de ser comprobado.
-- Creating a local variable with DECLARE/SET syntax.
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)
El conjunto de resultados es el siguiente.
Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF
[!NOTA]
El valor que devuelve NEWID es distinto en cada equipo. Este número solo se indica a título ilustrativo.
B.Utilizar NEWID en una instrucción CREATE TABLE
En el siguiente ejemplo se crea una tabla cust con un tipo de datos uniqueidentifier y se utiliza NEWID para llenarla con un valor predeterminado. Al asignar como valor predeterminado NEWID(), cada fila nueva y existente tendrá un valor único en la columna 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.Utilizar uniqueidentifier y la asignación de variable
En este ejemplo se declara una variable local denominada @myid como variable del tipo de datos uniqueidentifier. A continuación, se asigna un valor a la variable con la instrucción SET.
DECLARE @myid uniqueidentifier
SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12'
GO
Vea también
Referencia
NEWSEQUENTIALID() (Transact-SQL)
Funciones del sistema (Transact-SQL)
uniqueidentifier (Transact-SQL)