【保存版】2013年度発売全パチスロアプリ一覧(iPhone,iPad)

【SQLServer】SQLServerで連番を取得(IDENTITYプロパティー)。オーバーフロー(桁あふれ)を考慮する。

accessでいうオートナンバーをSQLServerで使うには、
テーブル作成時に、連番にしたい項目にIDENTITYプロパティーを設定します。

このIDENTITYプロパティーは、単純に連番をとるだけでなく、インクリメントする
値を設定することや、初期値を設定することもできます。

また、accessと違い、オートナンバー「型」ではなく、あくまでも「プロパティー」なので、
任意の型に対してIDENTITYを設定できます(設定できない型もあります)。

例えば、int型に設定すると、21億(正確には2,147,483,647)まで採番可能です。

で、ここで問題になるのは、maxまで採番するとどうなるのか?
accessだと、確か0に戻ったと思います。

SQLServerだとどうなるのか?
ちょっと試してみました。結果、オーバーフローしました。
SQLServer IDENTITY オーバーフロー

このへんはシステム構築時に考慮が必要な部分ですね。

一番簡単なのは、連番の型をbigintで定義する方法。
bigintだと8バイトとるのですが、9,223,372,036,854,775,807まで採番可能なので、事実上無制限といえます。
しかし、データ量を見積もってそれなりの型を宣言しておくのが
実際のシステム構築時には大事かと思います。

別の手として、連番に重複が許されるのならば、
DBCC CHECKIDENT ([テーブル名] ,RESEED ,0)を発行し、連番を任意の値に戻します。
(この場合は0に戻る)
これを年次処理等にくみこんでおけば桁あふれは防ぐことができます。

>>SQL Server 2005 ストアドプロシージャプログラミング (SQL Server Books)


>>SQL Server 2005でいってみよう 開発編 (DB Magazine SELECTION)


>>SQL Server 2005でいってみよう 運用管理編 (DB Magazine SELECTION)

[Google PR]

Twitterはじめました。プラプラ | Twitter

<< 【コンピュータ】EMOBILE(イーモバイル)100円PCのからくり
【雑記】AcronisTrueImage11が2993円!しかも、通常版。7/31まで。 >>

[関連エントリ 最新5]

[Google PR]


[最新エントリ 5]

>>トップページ
人気カテゴリ:AccessTips SQLServer CakePHP iPad
過去ログ(全記事一覧)

コメント
コメントする(お気軽にどうぞ)









この記事のトラックバックURL
トラックバック
カテゴリー
プロフィール
お問い合わせ
Powered by NINJA TOOLS
links
recent comment
  • 【Access】vbaでhmacが正しく計算できた!!
    まさ (06/01)
  • 【Access】AccessReportMailメール送信時のポートを25から587へ
    わら (05/31)
  • 【SQLServer】超シンプル!再帰CTE(共通テーブル式)で連続データを作成する。
    sazi (09/08)
  • 【あまっちゃお】Amazon商品検索「あまっちゃお」プロジェクト始動。Ver00-06-00 β
    カメちゃん (07/31)
  • 【Access】あれ?DoCmd.RunCommand acCmdSaveRecordの内部仕様が変わった?
    花姉 (03/17)
  • 【Access】実行中のmdb(自分自身)をバックアップコピーする方法。
    亀 (02/06)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    管理人 (01/31)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    あ (01/31)
  • 【雑記】Amazonでの注文時、TMGさん発送にご注意を。納期を守れない可能性あり!
    K (11/13)
  • 【VAIOP】VaioXと両持ちできるものすっっごくマニアックなケース。当たり前ですが在庫限り。(笑)
    管理人 (08/04)
recent trackback
  • 【Access】2003安全でない式がブロックされていませんとセキュリティーレベル。
    awgs Foundry (10/29)
  • 【VAIOtypeP】液晶保護シートは、新車のカバーではない。レイアウト社液晶/天板保護フィルムセットRT-VP1FS1
    XMLがキライ。 (04/09)
  • Vistaから、LinkStation(NAS)にアクセスできません。
    そのほかいろいろ (09/06)