SQL Server で値を自動採番する方法
2016/10/4
文書番号:20576
SQL Server で値を自動採番する方法です。
Oracle Database の場合はシーケンス(sequence)がありますが、SQL Server で同様のことをする場合は、IDENTITY 列を使用します。
これは自動採番するための単体のオブジェクトではなく、列の定義として設定すると、データ挿入時に値が採番されるというものです。
※IDENTITY 列はテーブルにひとつしか設定できません。
【SQL Server Management Studio で列定義を設定する】
- SQL Server Management Studio で IDENTITY 列を定義します。
対象の列を選択し、画面下部に表示される「列のプロパティ」から「IDENTITYの指定」を展開します。
「(IDである)」を「はい」にし、「IDの増分」に増分値、「IDENTITYシード」に開始値を設定します。
クリックで拡大
【SQL で IDENTITY 列を設定する】
- 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]