2009年11月18日水曜日

[SQLServer]基礎強化メモ - テーブル定義

テーブル作成についてのメモ。
一般的なテーブルは特筆すべき点なし。
一時テーブルはOracleだと[create grobal temporary table]だけど同一セッションからしか参照できなかった気がする。
他のセッションから参照できるのはSQLServer独自かもしれない。

▼一般的なテーブルの定義文
列のデフォルトはNULL。
列レベルで、インスタンスに設定された照合順序(COLLATE)を上書きすることができる。
照合順序の設定は「列 > データベース > インスタンス」の順に優先する。
--------------------------------------
<文法>
CREATE TABLE スキーマ名.テーブル名(
列名1 データ型(NULL | NOT NULL) (AS 列別名)
...
)
--------------------------------------


▼一時テーブル
一時テーブルはtempdbに作成される。
 ・ローカル一時テーブル
  →作成したセッションのみで使用できる。
 ・グローバル一時テーブル
  →すべてのセッションから参照できる。
   →グローバル一時テーブルを作成したセッションが終了すると、
    グローバル一時テーブルは消滅する。
--------------------------------------
<文法>
[ローカル一時テーブル]
CREATE TABLE #スキーマ名.テーブル名(
列名1 データ型(NULL | NOT NULL) (AS 列別名)
...
)

[グローバル一時テーブル]
CREATE TABLE ##スキーマ名.テーブル名(
列名1 データ型(NULL | NOT NULL) (AS 列別名)
...
)
--------------------------------------