SQL Serverのグローバル一時テーブルとは?構文と作成方法を解説
SQL Server(Transact-SQL)におけるグローバル一時テーブル(Global Temporary Table)は、セッション間で共有できる特別な一時テーブルです。通常の一時テーブル(#で始まる名前)とは異なり、「##」で始まる名前を持ち、複数のユーザーやセッションから参照できる点が大きな特徴です。
構文
CREATE TABLE ##テーブル名
(
列1 データ型 [ NULL | NOT NULL ],
列2 データ型 [ NULL | NOT NULL ],
…
);
パラメータの説明
テーブル名
作成するグローバル一時テーブルの名前です。名前は必ず「##」で始める必要があります。
列1・列2
テーブルに作成する列のことです。各列には必ず1つのデータ型を指定します。NULL または NOT NULL を指定でき、省略した場合は既定値として NULL が適用されます。
※ SQL Serverで利用可能なデータ型の詳細については、「SQL Serverのデータ型」に関する記事も併せてご参照ください。
注意点
グローバル一時テーブルの名前には、必ず接頭辞「##」を付けます(例:##nhanvien)。
使用例
CREATE TABLE ##nhanvien
( id_nhanvien INT PRIMARY KEY,
ho VARCHAR(50) NOT NULL,
ten VARCHAR(50),
luong MONEY
);
この例では、CREATE TABLE コマンドによって、4つの列を持つ「##nhanvien」という名前のグローバル一時テーブルが作成されます。
- id_nhanvien:INT 型。NULL を許容しません(主キーとして設定)。
- ho:VARCHAR 型(最大50文字)。NULL を許容しません。
- ten:VARCHAR 型。NULL を許容します。
- luong:MONEY 型。NULL を許容します。
また、このテーブルの主キー(PRIMARY KEY)は id_nhanvien 列に設定されています。
保存場所と自動削除の仕組み
グローバル一時テーブルは、システムデータベースである tempdb に格納されます。SQL Serverは、このテーブルを参照していたすべてのユーザーのセッションが切断された時点で、自動的にテーブルを削除します。そのため、明示的に DROP TABLE を実行しなくても、リソースが自動的に解放される便利な仕組みになっています。
-
SQL ServerのPIVOT句とは?クロス集計で行を列に変換する方法を実例付きで解説
SQL Server(Transact-SQL)では、PIVOT句を使用することで、クロス集計(ピボットテーブル)を作成できます。PIVOT句は、テーブル内の行データを列に変換し、集計結果を見やすい形式で表示するための強力な機能です。 下図は、合計値を計算し、行データを列に変換して表示する例です。 PIVOT句の基本構文 SELECT cot_dautien AS bidanh_cot_dautien, [giatri_chuyen1], [giatri_chuyen2], … [giatri_chuyen_n] FROM ( SELECT bang_nguon.cot1
-
【初心者向け】SSMSで学ぶSQL Serverのデータベース基本操作ガイド
こんにちは!前回の記事では、SSMS(SQL Server Management Studio)を使ってSQL Serverをインストールし、接続を確立する方法をご紹介しました。 今回はその続きとして、SQL Server Management Studio(SSMS)の画面操作を通じて、SQL Serverにおけるデータベースの最も基本的な操作方法について詳しく解説していきます。それでは早速始めましょう! #1. 新しいデータベースを作成する 手順1:SQL Serverに接続する まず、SQL Server Management Studioを起動し、SQL Serverに接続します。