MSDE FunClub
Microsoft Data Engine FunClub
MSDE初心者向けメーリングリスト過去ログ[14]番
 
[TOP]>[MSDE初心者向けメーリングリスト過去ログ(14番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
Re: Primary Key の Numbering

Date: Tue, 15 Jan 2002 17:35:38 +0900
From: "Tadashi Nakamura" <who@example.com>



----- Original Message -----
From: "Akira Horikawa" <who@example.ne.jp>
To: <who@example.ne.jp>
Sent: Tuesday, January 15, 2002 4:08 PM
Subject: [ml-msde-beg:00012] RE: Primary Key の Numbering


> 堀川です、こんにちは

質問の体をなしていない投稿に、応じていただいて恐縮です。

> -----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)の欠番に相当する番号を
> 自分で追加することはできませんが、

この欠番を MSDE が、割り当ててきます。従って、select 文で
リストを表示させると、Identity 列が、昇順にならずに、
大小の変化をしています。具体的に、記述します。

(1) delete from table1
    で、table1 の全てのレコードを削除します。
(2) insert 文で、いくつかのレコードを挿入します。
  このとき、Identity 列は、1からではなく、280といった自然数から
  始まり、以降は連番が打たれているのが確認できます。
(3) 今、挿入したレコードの一部を delete 文によって削除します。
  はじめの279個と、新たに数個の欠番が生じます。
(4) 次に insert 文によってレコードを挿入すると
  (3) で確認した欠番のいくつかが Identity 列として
  割り当てられています。
(5) 結果的には、Identity 列は、昇順の自然数が Numbering されて
  いるわけではない、という状態になっています。

以上のような MSDE の動作ですが、これで大丈夫なのでしょうか。
実は、私の書いた Script のうち、レコードの訂正の部分が
妙に複雑な処理になってしまい、一見、正しく動作しているように見え
るのですが、ほんとはもっと安全な処理をするのではないかと
気になるのです。

もちろん、主キーの Field を明示的に Numbering しようと
しているのではありません。ただ、Connection を同時に
3つ Open している(こういう言い方でいいのでしょうか)
処理がもしかして禁じ手かもしれない、、、

--
Tadashi Nakamura
who@example.com



[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。