SQL Server
 Computer >> コンピューター >  >> プログラミング >> SQL Server

SQL Serverのローカル一時テーブル(LOCAL TEMPORARY TABLE)の使い方

このチュートリアルでは、SQL Serverにおけるローカル一時テーブル(LOCAL TEMPORARY TABLE)の使い方を、構文と具体例を交えてわかりやすく解説します。

ローカル一時テーブルはtempdbデータベースに保存され、使用されなくなった時点でSQL Serverによって自動的に削除されるのが特徴です。

ローカル一時テーブルとは

ローカル一時テーブルは、名前の先頭に「#」を付けた一時的なテーブルで、作成したセッション内でのみ参照できます。セッションが終了すると自動的に削除されるため、中間計算結果や一時的なデータ処理に便利です。なお、名前の先頭に「##」を付けたグローバル一時テーブルは、すべてのセッションから参照可能である点が異なります。

構文

CREATE TABLE #テーブル名
(
  列1 データ型 [ NULL | NOT NULL ],
  列2 データ型 [ NULL | NOT NULL ],
  …
);

パラメータの説明

#テーブル名

作成したいローカル一時テーブルの名前です。必ず「#」記号で始まる必要があります。

列1、列2 …

テーブルに作成する列(カラム)です。各列には1つのデータ型を指定し、NULL値を許可するかどうか(NULL または NOT NULL)を明示します。指定しない場合はデフォルトでNULLが適用されます。

SQL Serverで利用できる各種データ型の詳細は、公式ドキュメントや関連記事を参考にすると理解が深まります。

注意点

ローカル一時テーブルには、必ず接頭辞として「#」を付けてください(例:#shain)。

使用例

CREATE TABLE #shain
( shain_id INT PRIMARY KEY,
  sei VARCHAR(50) NOT NULL,
  mei VARCHAR(50),
  kyuyo MONEY
);

このCREATE TABLE文を実行すると、次の4つの列を持つ「#shain」というローカル一時テーブルが作成されます。

  1. shain_id:INT型。NULL値を含みません。
  2. sei:VARCHAR型(最大50文字)。NULL値を含みません。
  3. mei:VARCHAR型。NULL値を許可します。
  4. kyuyo:MONEY型。NULL値を許可します。

さらに、このテーブルの主キー(PRIMARY KEY)にはshain_idが設定されています。

#で始まるローカル一時テーブルはtempdbに保存され、SQL Serverのセッション内で不要になった時点で自動的に削除されます。明示的にDROP TABLEを実行しなくても、セッション終了時にクリーンアップされるため、後片付けの手間がかかりません。

  1. 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

  2. 【初心者向け】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に接続します。