HOME >> Tips >> SQL Server Tips >> SQL

SQL Server で値を自動採番する方法

2016/10/4
文書番号:20576



SQL Server で値を自動採番する方法です。

Oracle Database の場合はシーケンス(sequence)がありますが、SQL Server で同様のことをする場合は、IDENTITY 列を使用します。

これは自動採番するための単体のオブジェクトではなく、列の定義として設定すると、データ挿入時に値が採番されるというものです。

※IDENTITY 列はテーブルにひとつしか設定できません。

【SQL Server Management Studio で列定義を設定する】

  1. SQL Server Management Studio で IDENTITY 列を定義します。

    対象の列を選択し、画面下部に表示される「列のプロパティ」から「IDENTITYの指定」を展開します。

    「(IDである)」を「はい」にし、「IDの増分」に増分値、「IDENTITYシード」に開始値を設定します。

    クリックで拡大

【SQL で IDENTITY 列を設定する】

  1. SQL で IDENTITY 列を持ったテーブルを作成します。
    「IDENTITY」という指定とその後ろに(開始値,増分値)を指定します。
    
    --ROW_ID という列を自動採番する列にしてテーブルを作成します。
    CREATE TABLE [dbo].[TABLE_A](
        [ROW_ID] [int] IDENTITY(20,1) NOT NULL
       ,[CODE]   [char](4) NULL
       ,[NAME]   [varchar](50) NULL
    ) ON [PRIMARY]