SQL Server

#75 IDENTITYで自動採番する

今回は久しぶりにSQL Serverのネタで書いてみようと思います。
お題は「IDENTITYで自動採番する」ですが、まずは前説から入ります(・∀・)


テーブルに定義するカラムには、いろんなデータ型を指定できます。
ただ、たいていの場合は整数型、文字列型(固定、可変)、日付型といった代表的な型を指定することが多いでしょう。

そして、通番のようなイメージで、整数型のカラム1つを主キーとするテーブルを作ることも多いのではないでしょうか。
こういうとき、アプリケーションの側で採番していくこともできますが、それって面倒ですよね(*´д`)=3

こういうとき、DBMSの側で自動的に採番してくれると便利です。
SQL Serverでは、null非許容のint型にIDENTITYプロパティを設定することで実現できます。


では、例を示しながら見ていきましょう。

TestDataBaseというデータベースに、employeesテーブルを定義します。
このテーブルは従業員情報を格納するテーブルで、以下の列を持ちます。
・名前(name)
・部署名(department)
・メールアドレス(mailaddress)
・電話番号(telnumber)

ここで、各従業員レコードにID列を主キーとして追加して、レコードを管理します。
(「社員番号列を付ければいいだろ?」とか言っちゃ駄目です(`・ω・´))
CREATE TABLE [dbo].[employees](
    [id] [int]
IDENTITY(1,1) NOT NULL,
    [name] [nvarchar](
20) NOT NULL,
    [department] [nvarchar](
30) NOT NULL,
    [mailaddress] [nvarchar](
50) NULL,
    [telnumber] [nchar](
11) NULL,
 CONSTRAINT [PK_employees] PRIMARY KEY CLUSTERED
(
    [id]
ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]

このID列の定義でIDENTITYを設定しています。
IDENTITYプロパティに2つの引数を設定していますが、第1引数は初期値を、第2引数は増分を表します。

続きを読む »

#53 データベース内のオブジェクトについて調べる

こんにちは、Gab_kmです。
シルバーウィークに入りまして、ようやく休みが取れそうです(*´▽`)=3

とか言って、休みなのにPCの前にいては、何にもならないんですけどねww



本日は、SQL Serverについてのトピックです。
今回から、プログラミングに限らず、遍く技術トピックをメモしていこうと思っています。

何だかんだ言って、このブログは誰あろう自分のためになりますからね(`・ω・´)

続きを読む »

#30 DataAdapterで簡易DBビューアを作ろう

こんばんは。
リンパ節が腫れて、つばを飲むのも苦しいGab_kmのブログです・・・(;ω;)

体調は思わしくありませんが、せっかく早く帰ってきたのでエントリしちゃいます。




本日は、データベースを扱うプログラミングに挑戦します。
使いますDBは、「SQL Server 2008 Express Edition」です。

Visual C# 2008 Express Editionなどをインストールしたとき、これとは別に「SQL Server Compact 3.5」などがインストールされます。
それをあえてアンインストールして、上に挙げた方のSQL Serverをインストールしました。

DB操作には、GUIツールがあってくれた方が便利だと思ってます。
SQL Server Compactの方には、「Enterprise Manager」も「SQL クエリアナライザ」も入ってないですからね。
私がインストールした SQL Server E.E.は、with Advanced Servicesとありまして、Enterprise ManagerライクなGUIツールがセットになっています。

ちなみに、私はクエリアナライザ派だったりしますが。

続きを読む »

プロフィール
あわせて読みたい
あわせて読みたい
記事検索
Project Euler
なかのひと
アクセス解析
Coderwall
  • ライブドアブログ

トップに戻る