SQL Serverで直前のuniqueidentifierを取得

SQL Serverで直前のuniqueidentifierを取得

SQLServer で、自動インクリメント設定をした uniqueidentifier に対して Insert を発行後、SELECT SCOPE_IDENTITY() を実行しても NULL が返ってきて ID が取得できませんね。

Returning ID of new row when ID is uniqueidentifier
http://stackoverflow.com/questions/32405923/returning-id-of-new-row-when-id-is-uniqueidentifier

以下のようにして、明示的に用意した値をセットする方法しかないようです。
DECLARE @newGuid TABLE(newValue UNIQUEIDENTIFIER); 
 
INSERT INTO hoge (hoge_name) 
OUTPUT inserted.hoge_id INTO  @newGuid(newValue ) 
values ('ほげ') 
 
SELECT @id = newValue FROM @newGuid

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する