読者です 読者をやめる 読者になる 読者になる

INTO で作成したテーブルに IDENTITY 列を追加する

SQL Server Advent Calendar 12日目 です。

先日紹介した INTO を使用して IDENTITY の列を追加する方法です。 INTO を使った場合に、特定の条件を満たせば IDENTITY の列を引き継いでくれます。
しかし、元のテーブルに IDENTITY 列が無い場合や、特定の条件を満たせない場合には
IDENTITY (関数) (Transact-SQL)
を使うことで IDENTITY 列を追加する事が出来ます。

先日の例に IDENTITY を使って連番列を追加しています。

select 
  [受注].[受注日] 
  , [受注].[取引先] 
  , [受注明細].[商品] 
  , [受注明細].[数量] 
  , [受注明細].[単価] 
  , identity(int, 1, 1) as [連番] 
into [ワークテーブル] 
from 
  [受注] inner join [受注明細] on [受注].[PK] = [受注明細].[受注PK] 
where 
  [受注].[未処理フラグ] = 0