web-dev-qa-db-ja.com

挿入時にデフォルトで生成された一意の識別子を返します

ゴール

テーブルに値を挿入した後、リアルタイムで最新のGUID値を取得します

問題

それを行う方法がわからない

情報

  • コードはaddressおよびzipcodeの新しい値のみを指定する必要があります
  • テーブルには多くのデータが含まれる可能性があります

テーブル

CREATE TABLE [AddressBook]
(
    [testID] [uniqueidentifier] NOT NULL default newid(),
    [address] [nvarchar](50) NULL,
    [zipcode] [nvarchar](50) NULL
)
8
KLN

私はあなたが探していると思います output

DECLARE @MyTableVar table([testID] [uniqueidentifier]);
 INSERT [AddressBook] ([address], [zipcode])
        OUTPUT INSERTED.[testID] INTO @MyTableVar
 VALUES (N'address', N'zipcode');

--Display the result set of the table variable.
 SELECT [testID] FROM @MyTableVar;

GO

uniqueidentifierはここでは最も効率的なIDではないかもしれませんが、これは上記の質問に対する回答です

13
paparazzo