T-SQL_基本

テーブル作成

  • 基本
    CREATE TABLE TestTable1(
        ID int, 
        Name nvarchar(20)
    )
    • [列名] [型]の順に指定する。
    • 型の種類によっては文字(桁)数の指定が出来る。
  • スキーマ指定
    CREATE TABLE TestScheme1.TestTable1(
        ID int, 
        Name nvarchar(20)
    )
  • データベース名から指定
    CREATE TABLE AdventureWorks.TestScheme1.TestTable1(
        ID int, 
        Name nvarchar(20)
    )

一時テーブル作成

  • ローカル一時テーブル
    CREATE TABLE #TestTable1(
        ID int, 
        Name nvarchar(20)
    )
    • 一時テーブルを作成したユーザのみ利用可能。そのユーザのセッション中のみ利用可能。
  • グローバル一時テーブル
    CREATE TABLE ##TestTable1(
        ID int, 
        Name nvarchar(20)
    )
    • 全てのユーザが利用可能。接続全ユーザのセッションが切断されるまで利用可能。

CTE(Common Table Expression:共通テーブル式)

WITH TestCTE1 (列名1, 列名2, ・・・)
AS (
    SELECT文
)
  • バッチの間のみ利用可能。式名(上の場合TestCTE1)を一時テーブルやテーブル変数のように利用できる。

テーブル削除

DROP TABLE テーブル名

テーブル名変更

EXEC sp_rename 'OldTableName', 'NewTableName'

制約

NOT NULL

  • テーブル作成
    CREATE TABLE TestTable1(
        [ID]   [int],
        [Name] [nvarchar](20) NOT NULL
    )
    • NULL値の挿入が出来なくなる
      INSERT INTO TestTable1 VALUES(1, NULL)
        メッセージ 515、レベル 16、状態 2、行 1
        テーブル 'AdventureWorks.dbo.TestTable1' の列 'Name' に値 NULL を挿入できません。この列では NULL 値が許可されていません。INSERT は失敗します。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2010-12-22 (水) 12:57:00