Landscape トップページ | < 前の日 2004-09-25 2004-09-27 次の日 2004-09-30 >

Landscape - エンジニアのメモ 2004-09-27

SET IDENTITY_INSERT で IDENTITY に任意の値を設定


* SET IDENTITY_INSERT で IDENTITY に任意の値を設定

この記事の直リンクURL: Permlink | この記事が属するカテゴリ: [MS SQL Server]

IDENTITY を設定して自動的に連番を振るようにしたカラムに、任意の値を INSERT したい。SET IDENTITY_INSERT を ON にすれば可能だ。

SET IDENTITY_INSERT
http://www.microsoft.com/japan/msdn/library/ja/tsqlref/ts_se ...
テーブルの ID 列に明示的な値を追加することを許可します。

セッション内の 1 つのテーブルのみが IDENTITY_INSERT プロパティを ON に設定できます。あるテーブルで既にこのプロパティが ON に設定されている状態で、別のテーブルに対して SET IDENTITY_INSERT ON ステートメントを実行すると、MicrosoftR SQL Server? は、SET IDENTITY_INSERT が既に ON であるというエラー メッセージを返し、このプロパティが ON に設定されているテーブルをレポートします。

挿入する値がテーブルの現在の ID 値を超える場合は、SQL Server は自動的に、新しく挿入された値を現在の ID 値として使います。

SET IDENTITY_INSERT は、解析時ではなく実行時に設定されます。

- SET IDENTITY_INSERT サンプル

DROP TABLE identity_test;
GO
CREATE TABLE identity_test (
  serialnum int IDENTITY (100, 1) PRIMARY KEY,
  num int
);

INSERT INTO identity_test (num) VALUES (101);
INSERT INTO identity_test (num) VALUES (102);

SET IDENTITY_INSERT identity_test ON;
INSERT INTO identity_test (serialnum, num) VALUES (128, 128);
SET IDENTITY_INSERT identity_test OFF;

INSERT INTO identity_test (num) VALUES (104);

SELECT * FROM identity_test;

上記クエリの実行結果。自動的に max() を取ってシーケンスの値を更新してくれるようだ。
serialnum  num
----------- -----------
100        101
101        102
128        128
129        104


すべての記事の見出し (全1029件)
全カテゴリの一覧と記事の数
カテゴリごとに記事をまとめ読みできます。記事の表題だけを見たい場合は、すべての記事の見出し (カテゴリ別表示) へ。

直近30日分の記事
2007-04-23 (Mon)
2007-03-07 (Wed)
2007-02-27 (Tue)
2007-01-17 (Wed)
2007-01-15 (Mon)
2007-01-14 (Sun)
2007-01-08 (Mon)
2006-12-01 (Fri)
2006-11-22 (Wed)
2006-11-20 (Mon)
2006-11-19 (Sun)
2006-09-30 (Sat)
2006-08-29 (Tue)
2006-08-04 (Fri)
2006-07-27 (Thu)
2006-07-23 (Sun)
2006-07-17 (Mon)
2006-07-10 (Mon)
2006-07-06 (Thu)
2006-07-03 (Mon)
2006-06-29 (Thu)
2006-06-28 (Wed)
2006-06-27 (Tue)
2006-06-25 (Sun)
2006-06-19 (Mon)
2006-06-18 (Sun)
2006-06-15 (Thu)
2006-06-11 (Sun)
2006-06-01 (Thu)
2006-05-30 (Tue)
プロファイル
斎藤 宏明。エンジニアです。宇都宮市に住んでいます。
リンク
RSS
スポンサードリンク
Powered by
さくらインターネット

© 斎藤 宏明 Saito Hiroaki Gmail Address
Landscape - エンジニアのメモ http://sonic64.com/
Landscape はランドスケープと読みます。
ひらがなだと らんどすけーぷ です。