NEWID (Transact-SQL)

uniqueidentifier 型の一意な値を作成します。

トピック リンク アイコン Transact-SQL 構文表記規則

構文

NEWID ( )

戻り値の型

uniqueidentifier

解説

NEWID() は RFC4122 に準拠しています。

使用例

A. NEWID 関数を変数と共に使用する

次の例では、NEWID() を使用して、uniqueidentifier 型として宣言されている変数に値を代入します。 値をテストする前に、uniqueidentifier 型変数の値を出力します。

-- Creating a local variable with DECLARE/SET syntax.
DECLARE @myid uniqueidentifier
SET @myid = NEWID()
PRINT 'Value of @myid is: '+ CONVERT(varchar(255), @myid)

以下に結果セットを示します。

Value of @myid is: 6F9619FF-8B86-D011-B42D-00C04FC964FF
注意

NEWID によって返される値は、コンピューターごとに異なります。 ここに示す値はあくまでも 1 つの例です。

B. CREATE TABLE ステートメント内で NEWID を使用する

次の例では、uniqueidentifier 型が含まれる cust テーブルを作成し、NEWID を使用してテーブルに既定値を代入します。 NEWID() の既定値が代入されると、新しい行と既存の行の 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. uniqueidentifier と変数代入を使用する

次の例では、uniqueidentifier 型の変数として、ローカル変数 @myid を宣言します。 この変数に、SET ステートメントを使用して値を代入します。

DECLARE @myid uniqueidentifier 
SET @myid = 'A972C577-DFB0-064E-1189-0154C99310DAAC12'
GO

関連項目

参照

NEWSEQUENTIALID() (Transact-SQL)

ALTER TABLE (Transact-SQL)

CAST および CONVERT (Transact-SQL)

CREATE TABLE (Transact-SQL)

データ型 (Transact-SQL)

システム関数 (Transact-SQL)

uniqueidentifier (Transact-SQL)

概念

シーケンス番号