Date: Tue, 15 Jan 2002 16:08:27 +0900
From: "Akira Horikawa" <who@example.ne.jp>
堀川です、こんにちは
-----Original Message-----
From: Tadashi Nakamura [mailto:who@example.com]
Sent: Monday, January 14, 2002 11:58 PM
To: ML MSDE beg
Subject: [ml-msde-beg:00010] Primary Key の Numbering
一般的には、IDENTITY列(AutoNumber)の欠番に相当する番号を
自分で追加することはできませんが、
SET IDENTITY_INSERT [ database.[ owner.] ] { table } { ON | OFF }
http://www.microsoft.com/japan/developer/library/tsqlref/ts_set-set_7zas
.htm
命令によって、それを許可することが可能です。
許可すれば欠番のところに、レコードを挿入することができます。
(既存のID値の変更はできません)
また現在の番号より大きな番号のレコードを挿入すると、その間の
番号は、欠番になります。
次に自動で振られる番号は、最大番号の次になります。
テーブルのレコードを全部削除しても、IDENTITYで振られる番号は
その次の番号から始まります。
IDENTITYの番号を初期化したいときは、
delete命令ではなく、truncate table 命令によってレコードを全部
削除して下さい。
よく伝票番号などに、IDENTITY列を付けたりしますが、いろいろな
制約があるので、注意して使って下さい。
制約が大きい場合は、トリガを作って、自分でナンバリングする
方法がよいと思います。
---------------------------------------------------
(株)日本技術ソフト開発 堀川 明
mailto:who@example.ne.jp
http://www.horikawa.ne.jp/msde/
01月15日(火曜日) 16時08分記
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|